2012-02-15 120 views
50

我在春季安全配置配置了兩個身份驗證提供:多個身份驗證提供

<security:authentication-manager> 
     <security:authentication-provider ref="XProvider" /> 
     <security:authentication-provider ref="YProvider" /> 
    </security:authentication-manager> 

春天是否安全評估都提供者?還是停下來評估其中一個失敗?如果沒有,如何使它停止?

謝謝。

回答

68

您可以根據需要指定任意數量的提供者。它們將按照您在authentication-manager標籤內聲明的順序進行檢查。

一旦認證成功,它將停止輪詢提供者。如果任何提供商拋出AccountStatusException它也將打破投票。

+5

這是正確的答案。應該提到的是,這不是Spring-Security的核心功能,而是支持AuthenticationProvider實例列表的默認AuthenticationManager實現。 – Robin 2012-06-25 11:37:45