69 lines
2 KiB
Plaintext
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
|