使用服务帐户对 LDAP 目录进行 Spring-Authentication
Posted
技术标签:
【中文标题】使用服务帐户对 LDAP 目录进行 Spring-Authentication【英文标题】:Spring-Authentication to LDAP directory with a service account 【发布时间】:2017-06-08 00:09:37 【问题描述】:我正在开发在 Spring 上开发的应用程序并尝试与 LDAP 目录建立连接。 我有一个服务帐户,可以访问 LDAP 目录,但我的配置有问题。
我的服务帐户:登录名/密码>>服务/服务密码
在 LDAP 目录中注册的一个用户帐户:登录名/密码 >> user1/pass1
当我尝试在登录界面上使用用户帐户登录时出现错误,但通过输入服务帐户的登录名/密码我登录了。
我的 user-coontext.xml 文件是:
> <!-- LDAP --> <security:ldap-server
> url="ldap://192.168.1.68:389/o=digital" /> <bean
> id="ldapAuthProvider"
> class="org.springframework.security.ldap.authentication.LdapAuthenticationProvider">
> <constructor-arg> <bean
> class="org.springframework.security.ldap.authentication.BindAuthenticator">
> <constructor-arg ref="contextSource" />
> <property name="userDnPatterns">
> <list>
> <value>uid=0</value>
> </list>
> </property> </bean> </constructor-arg> <constructor-arg> <bean
> class="edu.mit.kit.userdetails.MappedLdapAuthoritiesPopulator">
> <property name="admins">
> <set>
> <!-- list admin usernames here -->
> </set>
> </property> </bean> </constructor-arg> </bean>
> <bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">
> <property name="url" value="ldap://192.168.1.68:389/"> <property
> name="base" value="o=digital,ou=TechnicalAccount,ou=Comp" /> </bean>
>
> <bean id="ldapTemplate"
> class="org.springframework.ldap.core.LdapTemplate"> <constructor-arg
> name="contextSource" ref="contextSource" /> </bean> <bean
> id="ldapUserInfoRepository" primary="true"
> class="edu.mit.kit.repository.impl.LdapUserInfoRepository">
> <property name="ldapTemplate" ref="ldapTemplate" /> </bean>
><!-- end LDAP -->
你能帮忙吗?
【问题讨论】:
【参考方案1】:我找到了答案,我想和你分享:
更改配置并放置:
security:ldap-server url="ldap://192.168.1.68:389/o=digital" manager-dn="uid=service,ou=TechnicalAccounts" manager-password="servicepass" />
【讨论】:
以上是关于使用服务帐户对 LDAP 目录进行 Spring-Authentication的主要内容,如果未能解决你的问题,请参考以下文章
使用 Spring Boot/Spring Security 对 LDAP 进行证书身份验证
从 Spring Boot 应用程序使用 AD LDP 进行 LDAP 身份验证
如何使用 Spring Ldap Authentication 和 spring mvc 对用户进行身份验证
企业分布式微服务云SpringCloud SpringBoot mybatis (十六)Spring Boot中使用LDAP来统一管理用户信息