0
我想了解一下如何鉴别属于不同基地LDAP目录LDAP SPRING:如何验证属于不同的基础用户
我的文件配置的用户是:
<!-- LDAP -->
<security:ldap-server url="ldap://192.168.10.220:389/o=org" manager-dn="uid=admin,ou=Admins,o=org" manager-password="password" />
<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>
<value>user1</value>
</set>
</property>
</bean>
</constructor-arg>
</bean>
<bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">
<property name="url" value="ldap://192.168.10.220:389" />
<property name="base" value="ou=comp,ou=Users,o=org" />
<property name="userDn" value="admin1,ou=Admins,o=org" />
<property name="password" value="password" />
</bean>
<bean id="ldapTemplate" class="org.springframework.ldap.core.LdapTemplate">
<constructor-arg name="contextSource" ref="contextSource" />
</bean>
我的LDAP方案根是:o = org,每个用户都有不同的“ou”。
作为3个用户的例子:
- USER1:UID =用户1,OU =用户,o =组织
- USER2:UID =用户2,OU =排版,OU =用户,o =组织
- 用户3:UID =用户3,OU = fi_Users,o =组织
所以,我找的,我可以不把所有的LDAP方案在此XML文件配置验证这些用户的方式。
使用StartTLS不会以clearText发送密码。 – jwilleke
非常感谢您的解决方案! – isedrof
@jwilleke StartTLS本身不是,但StartTLS操作是通过普通端口启动的,因此您不必强制在安全通道中发送密码,而只需在普通端口上使用LDAP绑定操作,然后以明文形式传输密码电线。 可以配置LDAP服务器以拒绝此操作,但这不会有帮助,因为密码已被传输。 - >只有在担心安全性时才使用LDAPS。 –