前言
本文讨论HttpSecurity这个构建器中的配置器在HttpSecurity构建SecurityChainFilter的过程中做的事情。
HttpSecurity中配置器
比如在我写的例子中,HttpSecurity中有11个配置器。那么会顺序调度这11个配置器的init()、configurer()。
这里要强调的是,不是一个配置器对应一个过滤器。另外,配置的器的调度顺序和其生成的过滤器顺序无关,SecurityChainFilter过滤链中的过滤器顺序是由FilterComparator这个比较器决定的。
CsrfConfigurer
添加的过滤器
CsrfFilter
ExceptionHandlingConfigurer
添加的过滤器
ExceptionTranslationFilter
HeadersConfigurer
添加响应头。默认添加的结果是:
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Content-Type-Options: n