最近,我正在研究 Spring security 的 Authentication provider。
在 authentication() 方法中,檔案說,“如果 AuthenticationProvider 無法支持對傳遞的 Authentication 物件的身份驗證,則可能回傳 null。在這種情況下,將嘗試支持所提供的 Authentication 類的下一個 AuthenticationProvider。 ”
我們還有另一個方法supports()指示此提供程式是否支持身份驗證型別。
據我所知,“AuthenticationManager”首先呼叫supports()來檢查提供者是否支持這種型別。然后呼叫authenticate()方法。因此,根據我的理解,僅當提供者支持時才會呼叫身份驗證。
所以,我的問題是“如果提供者支持這種型別的身份驗證,那么它為什么要從身份驗證()中回傳 null?為什么檔案說“如果 AuthenticationProvider 無法支持對通過的身份驗證物件進行身份驗證,則可能會回傳 null” ???它不應該總是支持它嗎?(因為我們通過supports()檢查了它的兼容性。)
你能舉個例子,提供者需要回傳null嗎?
提前致謝。
uj5u.com熱心網友回復:
參考自Laurentiu Spilca 的
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/334517.html
上一篇:重試Reactor中的特定例外
