项目配置

当使用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注销操作相关推荐

  1. logout 注销登录

    logout就是退出呢登录的shell,即注销登录的意思,命令行直接输入logout,登录就会被注销,回到了登录页面,其语法格式如下: [root@Centos8 ~]# logout logout与 ...

  2. Laravel 5.4设置logout注销账户的重定向路径

    当我们修改Laravel默认Auth默认路径时,在点击logout按钮注销时,默认跳转的地址为项目的根目录, 若想设置成自定义的重定向路径,可以按照如下设置: 方法一: 在Auth \ LoginCo ...

  3. 掌握对计算机的注销操作,多掌握一些电脑操作技巧,工作起来少求人!

    (一)运行命令功能 1.电脑卡死时运行命令来注销计算机 之前说过电脑卡死时最好别按电源键重启,可以运行命令:ctrl shift esc尝试启动任务管理器,停止部分高占内存的程序.你也可以在时候电脑卡 ...

  4. Linux的实际操作:关机shutdown、重启reboot、用户注销logout

    1.关机和重启命令 (1)shutdown :shutdown -h now(立即关机) .shutdown -h 1(1分钟后关机).shutdown -r now(立即重启) (2)halt:直接 ...

  5. 注销系统的logout命令

    注销系统的logout命令 Logout 注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达logout命令即可: [root@laolinux root]#logout Red Hat ...

  6. 狂神java什么来头_狂神说SpringBoot18:集成SpringSecurity

    狂神说SpringBoot系列连载课程,通俗易懂,基于SpringBoot2.2.5版本,欢迎各位狂粉转发关注学习.未经作者授权,禁止转载 SpringSecurity 安全简介 在 Web 开发中, ...

  7. springboot17 集成SpringSecurity

    17.集成SpringSecurity 17.1.安全简介 在 Web 开发中,安全一直是非常重要的一个方面.安全虽然属于应用的非功能性需求,但是应该在应用开发的初期就考虑进来.如果在应用开发的后期才 ...

  8. linux如何注销远程用户登录,Linux无法被远程登录;用户的关机, 重启,注销,新增用户,删除用户...

    不能使用xshell连接到我的Linux服务器 通过再windows的cmd中ping了我的Linux地址,发现网络不通. 查看百度发现是因为网络没有选桥接模式,然后选完桥接模式告诉我: 然后发现没有 ...

  9. SpringSecurity

    SpringSecurity SpringSecurity概述 SpringSecurity编程起步 CSRF访问控制 扩展登录和注销功能 获取认证与授权信息用户认证成功后 基于数据库实现用户登录 基 ...

最新文章

  1. PyTorch之前向传播函数自动调用forward
  2. Android Jetpack组件之Navigation使用-源码
  3. 十天精通CSS3(3)
  4. 【错误记录】Android Studio 运行报错 ( There is not enough memory to perform the requested operation. )
  5. pageaudit属性不正确_科学的基本属性
  6. Xamarin中国峰会2019
  7. 英语练字字帖打印_为初学者设计的字帖,有耐心都能练好
  8. 监控系统可以终结酒驾吗?
  9. Git 正在吞噬世界!
  10. NLP和CV的双子星,注入Mask的预训练模型BERT和MAE
  11. AX2009 VS平台报表开发学习笔记(一)--初体验
  12. matlab可达矩阵 结果,matlab可达矩阵
  13. fatal: ‘http://git.#####.com/test-auto/stability.git/‘ 鉴权失败
  14. 对一些常见的HTML5特效进行整理和运行(有趣特效,烟花特效,爱心特效,炫酷特效)
  15. 《赐我》-一只白羊 同步歌词
  16. 联想领像L100D黑白激光打印机 评测
  17. challenges
  18. ucGUI鼠标拖动实现(DockDrop实现)
  19. 基于springboot的中医健康管理系统
  20. 读侯俊杰的《深入浅出MFC》小记

热门文章

  1. 国际短信系统平台发送接口说明方法|网页短信平台开发搭建-移讯云短信系统
  2. UML是什么?UML不是什么?
  3. 关于AVCC与ADCC不一致的问题
  4. jquery ajaxSubmit 异步提交
  5. python black_如何使用Black自动格式化Python代码
  6. shell中遍历字符串
  7. Phobos Runtime Library
  8. iOS游戏开发之使用 Spritekit 框架和 Swift 的 iOS 2D 太空射击游戏(教程含源码)
  9. Android涂鸦框架Doodle——仿微信图片编辑(多功能画板)
  10. form表单中的onSubmit