首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

spring ldap操作(1)目录测试环境搭建

2012-10-09 
spring ldap操作(一)目录测试环境搭建Spring LDAP 是一个用于操作 LDAP 的 Java 框架。它是基于 Spring 的

spring ldap操作(一)目录测试环境搭建

Spring LDAP 是一个用于操作 LDAP 的 Java 框架。它是基于 Spring 的 JdbcTemplate 模式。这个框架能够帮助开发人员简化 looking up,closing contexts,looping through NamingEnumerations,encoding/decoding values与 filters 等操作。(理论上市面所有目录产品都适用,什么?你不知道ldap目录,请建议绕行)

?

下面是我搭建的一个简单的java测试目录的环境,只是试下能不能连上ldap,以及能否进行简单操作。功能比较简单

所需jar包:见附件工程

applicationContext.xml配置

<?xml version="1.0" encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"><bean id="contextSource"          value="ldap://10.201.4.*:389" />          <property name="base" value="o=*" />          <property name="userDn" value="cn=*"/>          <property name="password" value="***" />      </bean>        <bean id="ldapTemplate"          />      </bean>      <bean id="personDao" />          </property>  </bean></beans>

?另外就是一个简单的操作类了PersonDaoImpl

public class PersonDaoImpl implements PersonDao {private LdapTemplate ldapTemplate;public static void main(String[] args) {ApplicationContext cxt = new ClassPathXmlApplicationContext("applicationContext.xml");   PersonDaoImpl personDao = (PersonDaoImpl)cxt.getBean("personDao");           List users = personDao.getAllPersonNames();           System.out.println(users.size());   }/* * @see PersonDao#getAllPersonNames() */public List getAllPersonNames() {EqualsFilter filter = new EqualsFilter("objectclass", "person");return ldapTemplate.search(DistinguishedName.EMPTY_PATH, filter.encode(), new AttributesMapper() {public Object mapFromAttributes(Attributes attrs) throws NamingException {return attrs.get("cn").get();}});}public void setLdapTemplate(LdapTemplate ldapTemplate) {this.ldapTemplate = ldapTemplate;}}

?

?如果你查询的路径设置正确且下面有用户,应该就能输出用户数量了。注

<property name="base" value="o=*" />? base即查找的根路径

热点排行