Spring Security 请求流程
2023-10-19 21:40:24 1 举报
当一个请求到达Spring Security过滤器链时,它首先会被AuthenticationManager进行身份验证。如果身份验证失败,则Filter将执行默认的拒绝处理流程(通常是返回HTTP 403错误)。如果身份验证成功,则Filter会调用授权管理器(AuthorizationManager)来检查用户是否具有访问所请求资源的权限。如果用户没有权限,则Filter将执行默认的拒绝处理流程。如果用户具有足够的权限,则请求将被传递给下一个过滤器或目标资源。在处理完请求后,Filter将清除与当前请求相关的所有安全性上下文信息。
作者其他创作
大纲/内容
否
是
AuthenticationFailureHandler失败管理器
AccessDeniedHandler权限不足处理类
可继承实现自定义认证
AuthenticationSuccessHandler成功管理器
是否用户认证成功
AccessDeniedException
异常类型
logoutFilter
是否是登出请求
ExceptionTranslationFilter异常处理过滤器
AutenticationException
实现并重写onAuthenticationFailure
UsernamePasswordAuthicationFilter
logoutSuccessHandler
投票结果是否大于0
抛出异常
实现并重写onAuthenticationSuccess
BasicAuthicationFilter(可继承自定义)
是否认证成功
根据url查找
鉴权管理器
authenticate方法
用户请求
AuthenticationEntryPoint认证失败处理类(校验token等)
是否是登录请求
filter链
FilterSecurityInterceptor权限判断拦截器
到达controller
AuthenticationEntryPoint认证失败处理类
用户信息解析放入SecurityContextHolder
AuthenticationManagerr认证管理器
否 且不抛出异常
logoutHandler
0 条评论
下一页