[5] LogoutFilter

LogoutFilter是Spring Security中处理登出请求的过滤器。当请求匹配到登出URL时,它会执行登出处理handler,清除身份认证信息并发送登出成功事件。在代码分析中,我们看到可以自定义登出URL并通过WebSecurityConfigurerAdapter配置LogoutFilter。在doFilter方法中,LogoutFilter比较请求URL与登出URL,执行相应的登出操作,包括调用多个handler进行处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值