@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