多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
过滤器在链中定义的顺序非常重要。无论您实际使用哪种过滤器,顺序应如下: * `ChannelProcessingFilter`,因为它可能需要重定向到不同的协议 * `SecurityContextPersistenceFilter`,因此可以在Web请求开始时在`SecurityContextHolder`中设置`SecurityContext`,并且当Web请求结束时(可以使用下一个Web请求准备好),可以将对`SecurityContext`的任何更改复制到`HttpSession`。 * ` ConcurrentSessionFilter`,因为它使用`SecurityContextHolder`功能并需要更新SessionRegistry以反映来自主体的持续请求 * 身份验证处理机制 -` UsernamePasswordAuthenticationFilter`,`CasAuthenticationFilter`,`BasicAuthenticationFilter`等 - 以便可以修改`SecurityContextHolder`以包含有效的`Authentication`请求令牌 * SecurityContextHolderAwareRequestFilter,如果您使用它将Spring安全感知HttpServletRequestWrapper安装到您的servlet容器中 * `JaasApiIntegrationFilter`,如果`JaasAuthenticationToken`位于SecurityContextHolder中,则会将`FilterChain`作为`JaasAuthenticationToken`中的`Subject`进行处理 * `RememberMeAuthenticationFilter`,这样如果没有更早的身份验证处理机制更新`SecurityContextHolder`,并且请求提供了一个启用记住我服务的cookie,那么一个合适的记忆`Authentication`对象将放在那里 * ` AnonymousAuthenticationFilter`,这样如果没有早期的身份验证处理机制更新`SecurityContextHolder`,那么匿名身份验证对象将被放在那里 * ExceptionTranslationFilter,用于捕获任何Spring Security异常,以便可以返回HTTP错误响应或启动相应的AuthenticationEntryPoint * FilterSecurityInterceptor,用于保护Web URI并在访问被拒绝时引发异常