在Spring Security 安全框架中,必须要理解的一个核心概念是 SecurityFilterChain 安全过滤器链,由一组过滤器(filters)组成。
SecurityFilterChain 接口其实就定义了两个方法 :
* 判断某个请求是否匹配该安全过滤器链 – boolean matches(HttpServletRequest request)
* 获取该安全过滤器链所对应的过滤器列表 – List<Filter> getFilters()
Spring Security 对SecurityFilterChain 接口提供了缺省的标准实现DefaultSecurityFilterChain。一个DefaultSecurityFilterChain对象定义时需要提供以下信息 :
* 一个用于匹配特定请求的请求匹配器 requestMatcher;
* 针对所匹配的请求要应用的一组过滤器列表;
在一个Spring Security 应用项目中,可以初始化多个 DefaultSecurityFilterChain 对象,分别对应着不同的请求匹配器(requestMatcher)。
访问 Spring Security 开发实践获取更多技术细节和项目实践,专栏从零开始详细介绍了Spring Security的工作原理和开发实践过程,包括认证、授权和常规攻击防御等等。