使用服务帐户对LDAP目录进行Spring身份验证



我正在开发一个在Spring上开发的应用程序,并试图与LDAP Direcotory建立联系。我有一个可以访问 LDAP 目录的服务帐户,但我的配置有问题。

  • 我的服务帐户 : 登录名/密码>> 服务/服务通行证

  • 一个用户帐户在LDAP目录中注册:登录名/密码>>
    用户 1/通行证 1

当我尝试在登录界面上使用用户帐户登录时,出现错误,但通过键入服务帐户的登录名/密码,我登录了。

我的用户库恩文本.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 -->

你能帮忙吗?

我找到了答案,我想与您分享:

更改配置并放置:

安全性:LDAP 服务器 url="ldap://192.168.1.68:389/o=digital" manager-dn="uid=service,ou=TechnicalAccounts" 管理器密码="服务通行证"/>

最新更新