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
|