LDAP认证的两种方式

LDAP认证的两种方式

[第一种] FastBindLdapAuthenticationHandler
这种认证处理器一般用于DN是由用户名直接组成的,比如:uid=%u,ou=dev,dc=micmiu.com,dc=com ,其中 %u 就是CAS登录的用户名。
修改web的配置文件 WEB-INF\ deployerConfigContext.xml
首先在 跟节点下增加 bean ContextSource  的配置:
  1.  id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">  
  2.    name="pooled" value="false"/>  
  3.    name="url" value="ldap://127.0.0.1:389" />  
  4.    name="userDn" value="cn=Manager"/>  
  5.    name="password" value="secret"/>  
  6.    name="baseEnvironmentProperties">  
  7.   
  8.    key="com.sun.jndi.ldap.connect.timeout" value="3000" />  
  9.    key="com.sun.jndi.ldap.read.timeout" value="3000" />  
  10.    key="java.naming.security.authentication" value="simple" />  
  11.   
  12.     
  13.   
  下找到 SimpleTestUsernamePasswordAuthenticationHandler 的配置,修改成如下:
  1.  class="org.jasig.cas.adaptors.ldap.FastBindLdapAuthenticationHandler">  
  2.  name="filter" value="uid=%u,ou=Developer,dc=micmiu,dc=com" />  
  3.  name="contextSource" ref="contextSource" />  
  4.   


[第二种] BindLdapAuthenticationHandler 

这种认证处理器一般用于需要验证的用户名是DN的其他的属性比如email,而不是上面第一种处理器中的uid(当然uid属性同样适用,下面我们配置的示例是用mail)。
修改web的配置文件 WEB-INF\ deployerConfigContext.xml
同样在 跟节点下增加 bean ContextSource  的配置:
  1.  id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">  
  2.  name="anonymousReadOnly" value="false" />  
  3.  name="password" value="secret" />  
  4.  name="pooled" value="true" />  
  5.  name="urls">  
  6.   
  7. ldap://127.0.0.1:389  
  8.   
  9.   
  10.  name="userDn" value="cn=Manager,dc=micmiu,dc=com" />  
  11.  name="baseEnvironmentProperties">  
  12.   
  13.   
  14.  name="allowMultipleAccounts" value="true" />  
  15.   





你可能感兴趣的:(LDAP认证的两种方式)