pse-documentation/31-qualitaetsheft-kolloquium/assets/diagrams/classdiagram.puml
2024-05-24 17:47:22 +02:00

69 lines
2 KiB
Plaintext

@startuml
' skinparam linetype ortho
' skinparam groupInheritance 2
allowmixing
!include classdiagram-authentication.puml
!include classdiagram-episode-actions.puml
!include classdiagram-model.puml
!include classdiagram-subscriptions.puml
!include classdiagram-util.puml
class SecurityConfigurationBasicAuth {
<<create>> SecurityConfigurationBasicAuth()
PasswordEncoder encoder()
UserDetailsManager userDetailsService()
SecuryFilterChain fiterChain(HTTPSecurity http) throws Excpetion
}
note top
Erstellt einen Servlet Filter (springSecurityFilterChain)
der für die gesamte Sicherheit zuständig ist (Schutz der URLs,
Validierung von Anmeldedaten, Weiterleitung zur Anmeldung, etc.).
end note
class PSEApplication {
<<create>> PSEApplication()
void main(String[] args)
}
database Datenbank
Datenbank <-[hidden]d- subscriptionsAPI
Datenbank <-[hidden]d- episodeActionsAPI
Datenbank <-[hidden]d- authenticationAPI
() SQL as SQLSub
() SQL as SQLAuth
() SQL as SQLEpisode
Datenbank -- SQLSub
Datenbank -- SQLAuth
Datenbank -- SQLEpisode
Subscription --o SubscriptionTitles
EpisodeActionPost -o SubscriptionTitles
UserDetailsManager <.. SecurityConfigurationBasicAuth: <<use>>
SubscriptionController ..o PSEApplication
AuthenticationController ..o PSEApplication
EpisodeActionController ..o PSEApplication
SecurityConfigurationBasicAuth ..o PSEApplication
PSEApplication --() HTTP
SQLSub )-- SubscriptionDataAccessService: JPA
' SQLAuth )-- AuthenticationDataAccessService: JPA
SQLAuth )-- JdbcUserDetailsManager: JDBC
SQLEpisode )-- EpisodeActionDataAccessService: JPA
RSSParser <. SubscriptionDataAccessService: <<use>>
RSSParser <. EpisodeActionDataAccessService: <<use>>
' JdbcUserDetailsManager <-- CleanCronJob
model .o Datenbank: ORM (User, SubscriptionAction, Subscription, EpisodeAction, Episode)
' Datenbank o.. Subscription: ORM
' Datenbank o.. SubscriptionAction: ORM
' Datenbank o.. Episode: ORM
' Datenbank o.. EpisodeAction: ORM
' Datenbank o.. User: ORM
@enduml