參考網站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");