SpringSecurity如何处理logout注销操作
发布日期:2021-06-29 15:52:29
浏览次数:2
分类:技术文章
本文共 1565 字,大约阅读时间需要 5 分钟。
项目配置
当使用WebSecurityConfigurerAdapter
时,会自动应用注销功能。默认情况下,访问URL /logout
将通过以下方式注销用户:
- 校验HTTP Session
- 清除RememberMe认证信息
- 清理
SecurityContextHolder
- 重定向到
/login?logout
自定义配置
protected void configure(HttpSecurity http) throws Exception { http .logout(logout -> logout .logoutUrl("/my/logout") .logoutSuccessUrl("/my/index") .logoutSuccessHandler(logoutSuccessHandler) .invalidateHttpSession(true) //默认为true .addLogoutHandler(logoutHandler) .deleteCookies("cookieNamesToClear") //一个显式添加CookieClearingLogoutHandler的快捷方式。 ) ...}
1、配置了logoutSuccessHandler就会忽略logoutSuccessUrl
2、deleteCookies((“name”) 是显式添加CookieClearingLogoutHandler的快捷方式。
和addLogoutHandler(new CookieClearingLogoutHandler(“name”))效果相同
LogoutHandler
通常,LogoutHandler实现指出能够参与注销处理的类,要求进行必要的清理工作。因此,不应该抛出异常。常见的实现类:
LogoutSuccessHandler
public interface LogoutSuccessHandler { void onLogoutSuccess(HttpServletRequest var1, HttpServletResponse var2, Authentication var3) throws IOException, ServletException;}
LogoutFilter成功注销后调用LogoutSuccessHandler
,以处理例如重定向或转发到适当的目的地。注意,该接口几乎与LogoutHandler
相同,但可能引发异常。
实现类:
- HttpStatusReturningLogoutSuccessHandler
HttpStatusReturningLogoutSuccessHandler
适合在REST API类型的场景中使用。此LogoutSuccessHandler
允许您提供一个要返回的普通HTTP状态代码,而不是在成功登出时重定向到一个URL。如果没有配置,则默认返回状态码200。
转载地址:https://console.blog.csdn.net/article/details/116464373 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月19日 05时32分48秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
CSS3 帧动画(Sprite,直译叫雪碧图)
2019-04-29
Java 父线程与子线程相互通信的方法
2019-04-29
Redis 六种淘汰策略和三种删除策略
2019-04-29
Java LinkedHashMap
2019-04-29
JPA 多线程同时对一条数据进行Update的问题
2019-04-29
JPA 多线程对数据进行更新,Update和Insert同时存在的问题
2019-04-29
Java 高性能队列Disruptor
2019-04-29
SpringBoot 使用https
2019-04-29
Java 读写锁
2019-04-29
JVM Minor GC、Full GC和Major GC
2019-04-29
SpringBoot @Scheduled 执行两次的问题
2019-04-29
tomcat配置JVM
2019-04-29
Ubuntu软件安装&卸载
2019-04-29
面试笔试易错知识点Java篇八
2019-04-29
弹性事务框架ETF4J——面向Java微服务的交易最终一致性解决方案
2019-04-29
【Scala 教程】Scala 条件与循环语句
2019-04-29
【Scala 教程】Scala 集合类型
2019-04-29
JAVA 线程同步机制 synchronized
2019-04-29
MySQL 安装教程(无脑版)
2019-04-29