Spring security默认实现了用户退出的功能,用户退出主要考虑退出后会话如何管理以及跳转到哪个页面。HttpSecurity类提供了logout()方法开启退出登录的支持,默认触发用户退出操作的URL为“/logout”,用户退出时同时也会清除Session等默认用户配置。 用户退出登录的逻辑是由过滤器LogoutFilter执行的,但是项目开发时一般不会选择直接操作​​LogoutFilter,而是通过LogoutConfigurer对LogoutFilter进行配置,HttpSecurity类logout()方法的返回值就是一个LogoutConfigurer对象,该对象提供了一系列设置用户退出的方法。

用户退出的主要方法

方法

作用

logoutUrl(String logoutUrl)

用户退出处理控制URL,默认为post请求的/logout

logoutSuccessUrl(String logoutSuccessUrl)

用户退出成功后的重定向地址

logoutSuccessHandler(

LogoutSuccessHandler logoutSuccessHandler)

用户退出成功后的处理器设置

deleteCookies(String... cookieNamesToClear)

用户退出后删除指定Cookie

invalidateHttpSession(

boolean invalidateHttpSession)

用户退出后是否立即清除Session,默认为true

clearAuthentication(

boolean clearAuthentication)

用户退出后是否立即清除Authentication用户认证信息,默认为true

案例:用户退出

1.设置用户退出的请求路径

项目后台首页main.html右上方有一个“注销”菜单,可以在该菜单中设置用户退出的请求路径 

<a th:href="@{/logout}">
    <span class="hidden-xs">注销</span>
</a>

2.效果测试

重启项目。

使用正确的用户信息登录后进入后台首页,单击后台首页页面右上角的“注销”。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐