當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring Security 退出登录(7)
生活随笔
收集整理的這篇文章主要介紹了
Spring Security 退出登录(7)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Spring Security默認的退出登錄URL為/logout,退出登錄后,Spring Security會做如下處理:
Spring Security允許我們通過配置來更改上面這些默認行為。
1. 自定義退出登錄行為
我們在Spring Security配置中添加如下配置:
...... .and().logout().logoutUrl("/signout").logoutSuccessUrl("/signout/success").deleteCookies("JSESSIONID") .and() ......上面配置了退出登錄的URL為/signout,退出成功后跳轉的URL為/signout/success,退出成功后刪除名稱為JSESSIONID的cookie。
在Controller中添加和/signout/success對應的方法:
@GetMapping("/signout/success") public String signout() {return "退出成功,請重新登錄"; }接著將/signout/success添加到免認證路徑里。啟動項目,登錄后訪問/signout:
可看到退出成功,并且請求重定向到了/signout/success。
除了指定logoutUrl外,我們也可以通過logoutSuccessHandler指定退出成功處理器來處理退出成功后的邏輯:
@Autowired private MyLogOutSuccessHandler logOutSuccessHandler;...... .and().logout().logoutUrl("/signout")// .logoutSuccessUrl("/signout/success").logoutSuccessHandler(logOutSuccessHandler).deleteCookies("JSESSIONID") .and() ......MyLogOutSuccessHandler實現LogoutSuccessHandler:
@Component public class MyLogOutSuccessHandler implements LogoutSuccessHandler {@Overridepublic void onLogoutSuccess(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Authentication authentication) throws IOException, ServletException {httpServletResponse.setStatus(HttpStatus.UNAUTHORIZED.value());httpServletResponse.setContentType("application/json;charset=utf-8");httpServletResponse.getWriter().write("退出成功,請重新登錄");} }效果和上面一樣:
2. 源碼地址
退出登錄
總結
以上是生活随笔為你收集整理的Spring Security 退出登录(7)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Gvim开发环境配置笔记--Window
- 下一篇: 10019---SpringBoot简介