為什么Spring Security看不見登錄失敗或者注銷的提示


有很多人在利用Spring Security進行角色權限設計開發時,一般發現正常登錄時沒問題,但是注銷、或者用戶名時,直接就回到登錄頁面了,在登錄頁面上看不見任何提示信息,如“用戶名/密碼有誤”或“注銷成功”。

那么如何做呢?很簡單。

1、自定義安全配置類(繼承自WebSecurityConfigurerAdapter)
在我們的自定義安全配置類中,需要做必要的設置,如下圖:

 

 上圖中標紅框的部分很關鍵:
failureUrl("/login?error=true"):這里面的“?error=true”很關鍵,如果沒有這個,那么你登錄失敗的消息並不會被系統傳遞出去。
logout():一定要配置logout(),要不然系統在注銷時,一是不能自動跳轉到登錄頁面,二是系統也不會把注銷的消息傳遞出去。

2、登錄頁面login.html
已經在Spring Security中的自定義配置類中做了如上的配置后,那么只需在頁面中添加必要的判斷信息就行了,見下圖:

 

 

以上代碼很簡單,大家只需注意兩點就行:

 

  •  在頁面中通過xmlns屬性定義Thymeleaf命名空間,同時定義Thymeleaf針對Spring Security的擴展,見上面的第一個紅框; 
  • 通過Thymeleaf的語法,對接收到的消息進行判斷,param.logout:判斷是否是注銷,param.error:判斷是否登錄失敗,從而進行相應的顯示就行了,見上面的第二個紅框。

 

有關如何快速掌握Spring Boot進行web項目的開,可以參見視頻:

51CTO:Spring Boot+Bootstrap開發小而完整web項目
騰訊課堂:Spring Boot+Bootstrap開發小而完整web項目 
CSDN學院:Spring Boot+Bootstrap開發小而完整web項目 
網易雲課堂:Spring Boot+Bootstrap開發小而完整web項目 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM