LogoutFilter
介绍
LogoutFilter是一个处理登出请求的过滤器,当请求经过LogoutFilter时,过滤器会请判断当前请求的URL是否是登出URL,如果匹配,就执行遍历执行处理登出的handlers。默认情况下,会清空SecurityContextHolder的身份认证信息,以及发送一个登出成功的事件。
代码分析
步骤1
LogoutFilter默认登出URL是/logout,但是对于一些项目而言,并一定是/logout,如果特殊的定制化需求,可以通过WebSecurityConfigurerAdapter进行配置,LogoutFilter构造器和配置代码如下:
public LogoutFilter(LogoutSuccessHandler logoutSuccessHandler,
LogoutHandler... handlers) {
this.handler = new CompositeLogoutHandler(handlers);
Assert.notNull(logoutSuccessHandler, "logoutSuccessHandler cannot be null");
this.logoutSuccessHandler = logoutSuccessHandler;
//默认登出URL是/logout
setFilterProcessesUrl("/logout");
}
@Override
protected