了解Spring安全性中的认证提供程序

时间:2013-05-01 16:41:57

标签: java spring java-ee spring-security

我试图了解Spring(3.1)中的身份验证提供程序,我对这里发生的事情有疑问。我知道我使用的命名空间可以更方便地访问安全模块中的功能和配置。

当我有以下标签时,我会得到一个提供程序管理器,其中包含一个身份验证提供程序列表。现在,当我查看AuthenticationProvider界面时,我想知道我得到了哪种提供商?我是对的,我得到DaoAuthenticationProvider?我是否可以获得其他提供商以及如何找到要注册的提供商(如果这样做的话)?

<security:authentication-manager>
    <security:authentication-provider>
        <security:jdbc-user-service data-source-ref="dataSource"  />
    </security:authentication-provider>
</security:authentication-manager>

1 个答案:

答案 0 :(得分:3)

这是正确的,您将获得具有上述配置的DaoAuthenticationProviderdocumentation for <authentication-provider>明确指出:

  

除非与ref属性一起使用,否则此元素是配置DaoAuthenticationProvider的简写。

<authentication-provider>标记由AuthenticationProviderBeanDefinitionParser解析,UserDetailsService总是registers a DaoAuthenticationProvider注入指定的{{1}}和其他协作者(passwordEncoder,saltSource等)。