用户只需要向 Spring Security 项目中发送/logout 退出请求即可
1.退出实现
实现退出非常简单,只要在页面中添加/logout 的超链接即可
<a href="/logout">退出登录</a>
为了实现更好的效果,通常添加退出的配置。默认的退出 url 为 /logout,退出成功后跳转到/login?logout
如果不希望使用默认值,可以通过下面的方法进行修改。
http.logout()
.logoutUrl("/logout")
.logoutSuccessUrl("/login.html");
2.logout 其他常用配置源码解读
2.1 addLogoutHandler(LogoutHandler)
默认是 contextLogoutHandler
默认实例内容
2.2 clearAuthentication(boolean)
是否清除认证状态,默认为 true
2.3 invalidateHttpSession(boolean)
是否销毁 HttpSession 对象,默认为 true
2.4 logoutSuccessHandler(LogoutSuccessHandler)
退出成功处理器。
也可以自己进行定义退出成功处理器。只要实现了 LogoutSuccessHandler 接口。与之前讲解的登录成功处理器和登录失败处理器极其类似。