天天看点

Spring Security(十) 退出登录1 退出实现2 logout  其他常用配置源码解读

用户只需要向 Spring Security 项目中发送/logout 退出请求即可。

1 退出实现

实现退出非常简单,只要在页面中添加/logout 的超链接即可。

<a href= "/logout">退出登录</a>
           

为了实现更好的效果,通常添加退出的配置。默认的退出 url 为/logout,退出成功后跳转到/login?logout

Spring Security(十) 退出登录1 退出实现2 logout  其他常用配置源码解读

如果不希望使用默认值,可以通过下面的方法进行修改。

http.logout()
.logoutUrl( "/logout")
.logoutSuccessUrl( "/login.html");
           

2 logout  其他常用配置源码解读

2.1 addLogoutHandler(LogoutHandler)

默认是 contextLogoutHandler

Spring Security(十) 退出登录1 退出实现2 logout  其他常用配置源码解读

默认实例内容

Spring Security(十) 退出登录1 退出实现2 logout  其他常用配置源码解读

2.2 clearAuthentication(boolean)

是否清除认证状态,默认为 true

Spring Security(十) 退出登录1 退出实现2 logout  其他常用配置源码解读

2.3 invalidateHttpSession(boolean)

是否销毁 HttpSession 对象,默认为 true

Spring Security(十) 退出登录1 退出实现2 logout  其他常用配置源码解读

2.4 logoutSuccessHandler(LogoutSuccessHandler)

退出成功处理器。

Spring Security(十) 退出登录1 退出实现2 logout  其他常用配置源码解读

也 可 以 自 己 进 行 定 义 退 出 成 功 处 理 器 。 只 要 实 现 了LogoutSuccessHandler 接口。与之前讲解的登录成功处理器和登录失败处理器极其类似。