spring security認證和授權?在平常實際應用除了最常用的用戶名 密碼的驗證方式外,還有手機号碼 驗證碼、QQ号授權登陸、微信授權登陸等等很多方式,甚至在極端的情況還需要證書參與才能登陸,但是萬變不離其宗,用spring security實現的原理其實都是一樣,要實現這種除用戶名 密碼的傳統密碼方式外,我們需要對spring secuirty進行擴展,實現的方式由二種,下面慢慢道來,我來為大家科普一下關于spring security認證和授權?以下内容希望對你有幫助!
在平常實際應用除了最常用的用戶名 密碼的驗證方式外,還有手機号碼 驗證碼、QQ号授權登陸、微信授權登陸等等很多方式,甚至在極端的情況還需要證書參與才能登陸,但是萬變不離其宗,用spring security實現的原理其實都是一樣,要實現這種除用戶名 密碼的傳統密碼方式外,我們需要對spring secuirty進行擴展,實現的方式由二種,下面慢慢道來
第一種:自定義一個filter自定義一個filter,放在SpringSecurity過濾器之前,在用戶登錄的時候會先經過這個filter,然後在這個filter中實現對驗證碼進行驗證的功能,這種方法不推薦,因為它已經脫離了SpringSecurity
第二種:自定義一個filter讓它繼承自UsernamePasswordAuthenticationFilter自定義一個filter讓它繼承自UsernamePasswordAuthenticationFilter,然後重寫attemptAuthentication方法在這個方法中實現驗證碼的功能,如果驗證碼錯誤就抛出一個繼承自AuthenticationException的驗證嗎錯誤的異常比如(CaptchaException),然後這個異常就會被SpringSecurity捕獲到并将異常信息返回到前台,這種實現起來比較簡單
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!