这篇文章主要介绍“Spring Security怎么实现退出登录和退出处理器”,在日常操作中,相信很多人在Spring Security怎么实现退出登录和退出处理器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spring Security怎么实现退出登录和退出处理器”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
配置退出登录的路径和退出后跳转的路径
//退出登录配置
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> <h2>主页面</h2> <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);
测试
到此,关于“Spring Security怎么实现退出登录和退出处理器”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注云搜网网站,小编会继续努力为大家带来更多实用的文章!






