Spring Security实现退出登录和退出处理器
时间:2023-01-12 12:39:02|栏目:JAVA代码|点击: 次
在系统中一般都有退出登录的操作。退出登录后,Spring Security进行了以下操作:
- 清除认证状态
- 销毁HttpSession对象
- 跳转到登录页面
配置退出登录的路径和退出后跳转的路径
//退出登录配置 http.logout() .logoutUrl("/logout") .logoutSuccessUrl("/login.html") .clearAuthentication(true) .invalidateHttpSession(true);
在网页中添加退出登录超链接
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity5"> <head> <meta charset="UTF-8"> <title>主页面</title> </head> <body> <h1>主页面</h1> <a href="/logout" rel="external nofollow" >退出登录</a> </body> </html>
退出成功处理器
我们也可以自定义退出成功处理器,在退出后清理一些数据,写法如下:
自定义退出成功处理器
/** * @Author yqq * @Date 2022/05/17 18:09 * @Version 1.0 */ public class LogoutSuccessHandler implements org.springframework.security.web.authentication.logout.LogoutSuccessHandler { @Override public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException { System.out.println("清楚一些数据"); response.sendRedirect("/login.html"); } }
配置退出成功处理器
//退出登录配置 http.logout() .logoutUrl("/logout") // .logoutSuccessUrl("/login.html") .logoutSuccessHandler(new LogoutSuccessHandler()) .clearAuthentication(true) .invalidateHttpSession(true);
测试
栏 目:JAVA代码
下一篇:Java字符串拼接详解
本文标题:Spring Security实现退出登录和退出处理器
本文地址:http://www.codeinn.net/misctech/223476.html