天天看點

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 接口。與之前講解的登入成功處理器和登入失敗處理器極其類似。