http://hi.baidu.com/five00/blog/item/8bccc213cdbb83065aaf53b2.html
1. 使用 Spring 配置文件配置 Ldap 认证源
在 Spring 中配置 Ldap 的过程与配置 JDBC 的过程类似, Ldap 比 JDBC 多出一个 base 属性,这个是配置 Ldap 基结点( 注意:这个基结点不仅仅指最高父节点 ),之后 Ldap 会查找基节点下所有子节点的信息。
< bean id = "ldapContextSource"
class = "org.springframework.ldap.support.LdapContextSource" >
< property name = "url" value = "ldap://localhost:10389" />
< property name = "base" value = " ou=People,ou=rootOrg,o=sevenSeas " />
< property name = "userName" value = "uid=admin,ou=system" />
< property name = "password" value = "secret" />
</ bean >
注意红字标示部分 " ou=People,ou=rootOrg,o=sevenSeas " 的顺序,这句话的意思是:基节点的位置是 sevenSeas 父节点下的 rootOrg 节点下的 People 节点;再次强调,这个解释是由于顺序的原因,父节点要在子节点的右面这样,当前 Ldap 源的数据就是在这个基节点下的各子节点中操作。
如图:
people 基节点下的用户
2. SpringTemplate 的 Ldap 测试代码编写
在配置文件中,需要配置数据源和 LdapTemplate , LdapTemplate 就是 Spring 提供的操作 Ldap 服务器数据的类。
配置文件 applicationContext-ldap.xml :
<? xml version = "1.0" encoding = "UTF-8" ?>
< beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop = "http://www.springframework.org/schema/aop"
xsi:schemaLocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd" >
< bean id = "ldapContextSource"
class = "org.springframework.ldap.support.LdapContextSource" >
< property name = "url" value = "ldap://localhost:10389" />
< property name = "base" value = "ou=People,ou=rootOrg,o=sevenSeas" />
< property name = "userName" value = "uid=admin,ou=system" />
< property name = "password" value = "secret" />
</ bean >
< bean id = "ldapTemplate" class = "org.springframework.ldap.LdapTemplate" >
< property name = "contextSource" ref = "ldapContextSource" />
</ bean >
</ beans >