blog/drawings/spring-security-webflux-flow.puml

26 lines
1.5 KiB
Plaintext

@startdot spring-security-webflux-flow
digraph webfluxFlow {
rankdir=TB
edge [color="#A60738"]
node [color="#A60738"]
client [shape=box, label="客户端"]
endpoint [shape=box, label="处理端点"]
' tokenStorage [shape=box, label="令牌缓存"]
client -> SecurityFilterChain [label="HTTP请求"]
SecurityFilterChain -> AnonymousAuthenticationWebFilter [label="ServerWebExchange"]
AnonymousAuthenticationWebFilter -> SecurityContext [label="匿名Authentication"]
SecurityContext -> endpoint
SecurityFilterChain -> AuthenticationWebFilter [label="ServerWebExchange"]
AuthenticationWebFilter -> ReactivePreAuthenticatedAuthenticationManager [label="认证前的Authentication"]
ReactivePreAuthenticatedAuthenticationManager -> ReactiveUserDetailsService [label="用户认证信息"]
ReactiveUserDetailsService -> ReactivePreAuthenticatedAuthenticationManager [label="PreAuthenticatedAuthenticationToken"]
ReactivePreAuthenticatedAuthenticationManager -> AuthenticationWebFilter [label="PreAuthenticatedAuthenticationToken"]
AuthenticationWebFilter -> SecurityContext [label="认证后的Authentication"]
AuthenticationWebFilter -> JwtReactiveAuthenticationManager [label="认证前的Authentication"]
JwtReactiveAuthenticationManager -> AuthenticationWebFilter [label="BearerTokenAuthenticationToken"]
JwtReactiveAuthenticationManager -> JwtAuthenticationConverter [label="Jwt"]
JwtAuthenticationConverter -> JwtReactiveAuthenticationManager [label="JwtAuthenticationToken"]
}
@enddot