【发布时间】:2011-12-14 22:49:29
【问题描述】:
我的应用程序使用 Spring Security 来处理身份验证。到目前为止,我使用的是基于 jdbc-user-service 的简单身份验证提供程序,它同时执行身份验证和加载权限,并且一切正常:
<authentication-manager alias="authenticationManager">
<authentication-provider>
<password-encoder hash="sha" />
<jdbc-user-service data-source-ref="dataSource"
authorities-by-username-query="select t1.login, t2.USERROLES from USER as t1, USERROLES as t2 where t1.ID=t2.User_ID and t1.login= ?"
users-by-username-query="select login,password,enabled from USER where login = ?" />
</authentication-provider>
</authentication-manager>
现在我有了一个新的规范:
- 应该像以前一样从数据库中加载权限
- 应使用 LDAP 进行身份验证
我在一个测试应用程序中正确配置了 LDAP 身份验证,它工作得很好。现在我必须把它放在一起。如何让我的 jdbc auth-provider 不执行身份验证,而只加载权限并启用下一个身份验证管理器(在我的情况下为 LDAP 身份验证管理器)进行真正的身份验证?
【问题讨论】:
标签: spring authentication spring-security