oauth2.0 在登錄頁面,輸入一次錯誤的用戶名和密碼,即使下次輸入正確的用戶名和密碼,也會跳轉到/error頁面,而此時其實已經登錄成功了。

參考網站https://blog.csdn.net/biboheart/article/details/80666700

錯誤表現:在登錄頁面,輸入一次錯誤的用戶名和密碼,即使下次輸入正確的用戶名和密碼,也會跳轉到/error頁面,而此時其實已經登錄成功了。

頁面沒有任何報錯。

首先要在application.properties文件裏面配置

logging.level.org.springframework.security=debug

這個時候重複操作,會發現:

SavedRequestAwareAuthenticationSuccessHandler - Redirecting to DefaultSavedRequest Url: http://73a7dd72.ngrok.io/error

仔細研究代碼,會發現,這是因爲上次跳轉頁面會被記住。下次還跳到這個頁面。

我就查了下session中所有的值,發現出錯的時候,session中多出個值"SPRING_SECURITY_SAVED_REQUEST"。而這個的值就是"http://73a7dd72.ngrok.io/error"。那麼只要刪掉它就沒問題了。

request.getSession().removeAttribute("SPRING_SECURITY_SAVED_REQUEST");

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章