如何在Spring中使用多个UserDetailServices和一个身份验证管理器?

时间:2014-11-17 15:13:57

标签: java spring spring-security

我有一个Spring应用程序,它使用CAS处理身份验证,然后使用LDAP查找授权详细信息。展望未来,我还需要检查数据库以获取其他用户详细信息和权限,这样,如果未通过Active Directory安全组明确授予访问权限,我可以根据辅助信息确定访问级别。我想继续使用CAS来处理所有身份验证。

我知道如何配置额外的UserDetailService来查找数据库中的信息,但是如何让Spring Security查看这两种服务呢?

1 个答案:

答案 0 :(得分:0)

您不需要多个UserDetailsS​​ervice,而是可能希望查看使用自定义AuthenticationSuccessHandler实现

http://docs.spring.io/autorepo/docs/spring-security/4.0.0.M2/apidocs/org/springframework/security/web/authentication/AuthenticationSuccessHandler.html

将在成功验证后触发,并从中进行其他数据库调用:

见这里的例子:

http://javapointers.com/tutorial/spring-custom-authenticationsuccesshandler-example-2/