security过滤器链
2022-03-27 22:05:01 13 举报
security过滤器链
作者其他创作
大纲/内容
异常类型
至少一个认证通过
UsernamePasswordAuthenticationFilter获取请求的账号、密码来处理登录请求
是
否
认证器1
FilterSecurityInterceptor可以看做过滤器链的出口。
SessionManagementFilter管理 session 的过滤器
对应的异常处理器
RequestCacheAwareFilter用来处理请求的缓存
客户端请求
AnonymousAuthenticationFilter检测是否存在 Authentication 对象,如果不存在为其提供一个匿名 Authentication。
controller对应的资源
MyLoginSuccessHandler登录成功处理器
和URL绑定的投票管理器(判断是否有权限访问该资源)
SecurityContextPersistenceFilter加载security上下文;完毕后清除请求信息
CsrfFilter用于处理跨站请求伪造。
认证器2
是否是登录请求
SecurityContextHolderAwareRequestFilter主要是包装请求对象request。
MyLoginFaultHandler登录失败处理器
DefaultLoginPageGeneratingFilter构造登录页
WebAsyncManagerIntegrationFilterSecurity 上下文和集成处理异步请求映射
logoutSuccessHandler 登出成功处理器
投票结果是否大于0
logoutHandler登出处理器
AuthenticationManager认证管理器(多种认证方式。如账号+密码、邮箱/手机号+密码、指纹等)
HeaderWriterFilter用于将头信息加入响应中。
AccessDeniedHandler权限不足处理器
是否登出URL
LogoutFilter用于处理退出登录。
是否已自定义登录页
是,返回自定义登录页
认证器3
ExceptionTranslationFilter处理 AccessDeniedException 和 AuthenticationException 异常。
收藏
0 条评论
下一页