欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

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);

测试

上一篇:IDEA2021常用优化设置步骤图解

栏    目:JAVA代码

下一篇:Java字符串拼接详解

本文标题:Spring Security实现退出登录和退出处理器

本文地址:http://www.codeinn.net/misctech/223476.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有