springsecurity常用的过滤链,及其作用
时间: 2023-10-29 13:28:07 浏览: 102
spring安全框架3.2
Spring Security中的过滤器链(Filter Chain)是安全提供者(Security Providers)组件之一,它负责拦截客户端请求并保护应用程序。这些过滤器链被设计为一种链式结构,每个过滤器被安排在链中的不同位置,通过按照一定的顺序依次调用它们来为应用程序提供不同的安全功能。
Spring Security默认会执行一些过滤器,如:
- ChannelProcessingFilter:用于检查请求协议是否合法。
- ConcurrentSessionFilter:用于检查用户并发登录的情况。
- SecurityContextPersistenceFilter:用于加载请求对应的SecurityContext信息并缓存它。
- LogoutFilter:用于处理退出登录请求。
- UsernamePasswordAuthenticationFilter:用于处理基于用户名密码的身份验证请求。
- ExceptionTranslationFilter:用于捕获Spring Security中的异常并处理它们。
- FilterSecurityInterceptor:用于执行访问控制的策略,当请求被允许时,它会向下一个过滤器传递控制权。
Spring Security中的拦截器链就是定义过滤器的一个集合,可以自定义添加、删除过滤器,以实现特定的安全控制逻辑。通过重载WebSecurityConfigurerAdapter的configure方法,可以进行拦截器链的配置。
阅读全文