其它授權配置
security的配置類中,對所有路徑進行了統一授權配置。但是有的內容我們也需要讓未登錄游客有權限訪問,比如js,css等靜態文件,還有一些宣傳頁面等等。這些路徑可以單獨配置:
我們來試驗一些,springboot項目的試圖頁面一般放在resource文件夾下面的templates文件夾下。而靜態文件一般放在resource文件夾下面的static文件夾下。我們來建立一個test.css文件,
隨便寫點內容,啟動項目看看效果:
可以看到在未登錄的情況下是可以訪問的。也可以弄一個簡單的廣告頁面查看效果,此處不再演示。關於授權,下面是一些總結:
登錄成功處理器
現在我們登錄成功的時候直接跳轉到了默認頁面。有時候登錄操作要求要記錄一下日志再跳轉,或者登錄成功后執行一些其它邏輯再跳轉,我們可以增加一個登錄成功處理器LoginSuccessHandler,這個類需要實現 AuthenticationSuccessHandler 接口,並實現onAuthenticationSuccess方法:
下一步需要在配置類中,配飾成功處理器:
重啟登錄可以看到,控制台成功打印了語句:
但是此時沒有跳轉到默認頁面,這時候默認頁面的配置以及沒有用了,我們需要在成功處理器中手動跳轉:
這時候再登錄就可以了。defaultSuccessUrl的配置也可以刪掉了。security不僅可以配置登錄成功處理器,還可以配置登錄失敗的,可以在http.formLogin()下調用failureHandler()配置。登陸失敗處理器需要實現 AuthenticationFailureHandler 接扣,並實現 onAuthenticationFailure方法。不過實際中登錄失敗的原因很多,比如亂輸入賬號等等,所以除了特殊情況,一般情況不進行失敗處理。
除了登錄的處理還有一些其它的處理,比如權限不足的處理,手動退出的處理等等,后面會重點討論權限不足處理器。