【发布时间】:2016-03-03 11:05:36
【问题描述】:
我正在开发一个 Springboot 应用程序,该应用程序需要支持本地身份验证(通过基于 DAO 的提供程序)和多个 LDAP 服务器(管理配置,存储在数据库中)。
使用单个 LDAP 提供程序,我的配置方法如下所示:
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.authenticationProvider(daoAuthenticationProvider());
auth.ldapAuthentication()
.userSearchBase(userSearchBase)
.groupSearchBase(groupSearchBase)
.userSearchFilter(userSearchFilter)
.userDetailsContextMapper(new DaoUserDetailsContextMapper())
.contextSource().url(url+"/"+base)
.managerPassword(managerPassword)
.managerDn(managerDn);
}
通过其他类似的帖子,这似乎可以通过创建多个 LDAP 提供者来完成,并且 Spring 安全性将循环遍历每个提供者,直到找到成功的登录。我将关联的 LDAP 配置记录关联为 User 表上的外键。
是否有更有效的方法来尝试与用户关联的特定 LDAP 端点,或者最好让 Spring 遍历可用的提供程序?
感谢您的任何意见!
【问题讨论】:
-
您好,您解决了吗?我有类似的任务。
标签: spring spring-mvc authentication spring-security spring-ldap