【问题标题】:Multiple Authentication Providers in Spring SecuritySpring Security 中的多个身份验证提供程序
【发布时间】:2012-03-07 09:24:28
【问题描述】:

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

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

spring security 是否评估这两个提供商?还是停止评估其中一个是否失败?如果没有,如何让它停止?

谢谢。

【问题讨论】:

    标签: spring-security


    【解决方案1】:

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

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

    【讨论】:

    • 这是正确答案。应该提到的是,这不是 Spring-Security 的核心特性,而是支持 AuthenticationProvider 实例列表的默认 AuthenticationManager 实现。
    • 如果 Exception 不是 AccountStatusException 的类型,如何告诉它移动到下一个提供者?
    猜你喜欢
    • 2012-02-18
    • 2018-05-07
    • 2016-05-23
    • 2019-08-08
    • 2013-04-25
    • 1970-01-01
    • 2012-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多