Spring Security实现退出登录和退出处理器

在系统中一般都有退出登录的操作。退出登录后,Spring Security进行了以下操作:

  • 清除认证状态
  • 销毁HttpSession对象
  • 跳转到登录页面

配置退出登录的路径和退出后跳转的路径

//退出登录配置
        http.logout()
                .logoutUrl("/logout")
                .logoutSuccessUrl("/login.html")
                .clearAuthentication(true)
                .invalidateHttpSession(true);

在网页中添加退出登录超链接




    
    主页面


主页面

退出登录

Spring Security实现退出登录和退出处理器_第1张图片

Spring Security实现退出登录和退出处理器_第2张图片

退出成功处理器

我们也可以自定义退出成功处理器,在退出后清理一些数据,写法如下:

自定义退出成功处理器

/**
 * @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实现退出登录和退出处理器_第3张图片

Spring Security实现退出登录和退出处理器_第4张图片

Spring Security实现退出登录和退出处理器_第5张图片

到此这篇关于Spring Security实现退出登录和退出处理器的文章就介绍到这了,更多相关Spring Security退出登录和退出处理器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Spring Security实现退出登录和退出处理器)