Spring security Spring安全中的多个身份验证提供者

Spring security Spring安全中的多个身份验证提供者,spring-security,Spring Security,我在Spring安全配置中配置了两个身份验证提供程序: <security:authentication-manager> <security:authentication-provider ref="XProvider" /> <security:authentication-provider ref="YProvider" /> </security:authentication-manager> sp

我在Spring安全配置中配置了两个身份验证提供程序:

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

spring安全性是否评估这两个提供者?或者,如果其中一个失败,它是否会停止评估?如果没有,如何使其停止


谢谢。

您可以指定任意数量的提供商。它们将按照您在authentication manager标记中声明的顺序进行检查


一旦成功进行身份验证,它将停止轮询提供程序。如果任何提供者抛出一个
AccountStatusException
,它也将中断轮询。

这是正确答案。应该提到的是,这不是Spring Security的核心功能,而是默认AuthenticationManager实现的一个功能,它支持AuthenticationProvider实例列表。如果Exception不是AccountStatusException类型,如何告诉它移到下一个提供程序?