SpringSecurity如何处理logout注销操作
项目配置
当使用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实现指出能够参与注销处理的类,要求进行必要的清理工作。因此,不应该抛出异常。常见的实现类:
- PersistentTokenBasedRememberMeServices
- TokenBasedRememberMeServices
- CookieClearingLogoutHandler
- CsrfLogoutHandler
- SecurityContextLogoutHandler
- HeaderWriterLogoutHandler
LogoutSuccessHandler
public interface LogoutSuccessHandler {void onLogoutSuccess(HttpServletRequest var1, HttpServletResponse var2, Authentication var3) throws IOException, ServletException;
}
LogoutFilter成功注销后调用LogoutSuccessHandler
,以处理例如重定向或转发到适当的目的地。注意,该接口几乎与LogoutHandler
相同,但可能引发异常。
实现类:
- SimpleUrlLogoutSuccessHandler
- HttpStatusReturningLogoutSuccessHandler
HttpStatusReturningLogoutSuccessHandler
适合在REST API类型的场景中使用。此LogoutSuccessHandler
允许您提供一个要返回的普通HTTP状态代码,而不是在成功登出时重定向到一个URL。如果没有配置,则默认返回状态码200。
SpringSecurity如何处理logout注销操作相关推荐
- logout 注销登录
logout就是退出呢登录的shell,即注销登录的意思,命令行直接输入logout,登录就会被注销,回到了登录页面,其语法格式如下: [root@Centos8 ~]# logout logout与 ...
- Laravel 5.4设置logout注销账户的重定向路径
当我们修改Laravel默认Auth默认路径时,在点击logout按钮注销时,默认跳转的地址为项目的根目录, 若想设置成自定义的重定向路径,可以按照如下设置: 方法一: 在Auth \ LoginCo ...
- 掌握对计算机的注销操作,多掌握一些电脑操作技巧,工作起来少求人!
(一)运行命令功能 1.电脑卡死时运行命令来注销计算机 之前说过电脑卡死时最好别按电源键重启,可以运行命令:ctrl shift esc尝试启动任务管理器,停止部分高占内存的程序.你也可以在时候电脑卡 ...
- Linux的实际操作:关机shutdown、重启reboot、用户注销logout
1.关机和重启命令 (1)shutdown :shutdown -h now(立即关机) .shutdown -h 1(1分钟后关机).shutdown -r now(立即重启) (2)halt:直接 ...
- 注销系统的logout命令
注销系统的logout命令 Logout 注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达logout命令即可: [root@laolinux root]#logout Red Hat ...
- 狂神java什么来头_狂神说SpringBoot18:集成SpringSecurity
狂神说SpringBoot系列连载课程,通俗易懂,基于SpringBoot2.2.5版本,欢迎各位狂粉转发关注学习.未经作者授权,禁止转载 SpringSecurity 安全简介 在 Web 开发中, ...
- springboot17 集成SpringSecurity
17.集成SpringSecurity 17.1.安全简介 在 Web 开发中,安全一直是非常重要的一个方面.安全虽然属于应用的非功能性需求,但是应该在应用开发的初期就考虑进来.如果在应用开发的后期才 ...
- linux如何注销远程用户登录,Linux无法被远程登录;用户的关机, 重启,注销,新增用户,删除用户...
不能使用xshell连接到我的Linux服务器 通过再windows的cmd中ping了我的Linux地址,发现网络不通. 查看百度发现是因为网络没有选桥接模式,然后选完桥接模式告诉我: 然后发现没有 ...
- SpringSecurity
SpringSecurity SpringSecurity概述 SpringSecurity编程起步 CSRF访问控制 扩展登录和注销功能 获取认证与授权信息用户认证成功后 基于数据库实现用户登录 基 ...
最新文章
- PyTorch之前向传播函数自动调用forward
- Android Jetpack组件之Navigation使用-源码
- 十天精通CSS3(3)
- 【错误记录】Android Studio 运行报错 ( There is not enough memory to perform the requested operation. )
- pageaudit属性不正确_科学的基本属性
- Xamarin中国峰会2019
- 英语练字字帖打印_为初学者设计的字帖,有耐心都能练好
- 监控系统可以终结酒驾吗?
- Git 正在吞噬世界!
- NLP和CV的双子星,注入Mask的预训练模型BERT和MAE
- AX2009 VS平台报表开发学习笔记(一)--初体验
- matlab可达矩阵 结果,matlab可达矩阵
- fatal: ‘http://git.#####.com/test-auto/stability.git/‘ 鉴权失败
- 对一些常见的HTML5特效进行整理和运行(有趣特效,烟花特效,爱心特效,炫酷特效)
- 《赐我》-一只白羊 同步歌词
- 联想领像L100D黑白激光打印机 评测
- challenges
- ucGUI鼠标拖动实现(DockDrop实现)
- 基于springboot的中医健康管理系统
- 读侯俊杰的《深入浅出MFC》小记