java spring ldap_Spring-LDAP 的例子

用Spring LDAP最小需要:

spring-ldap(spring-ldap包)

spring-core(用于框架内部的丰富的工具类)

spring-beans(方便操作java beans的接口和类)

spring-context(增加通过一致API为应用对象获取资源的能力)

spring-dao(使经常性的错误处理跟使用中的数据访问分开的异常处理机制)

commons-logging(简单的日志处理,内部使用)

UserDaoLdapImpl

Java代码

package cn.com.ldap;

import java.util.List;

import javax.naming.NamingException;

import javax.naming.directory.Attributes;

import org.springframework.ldap.core.AttributesMapper;

import org.springframework.ldap.core.LdapTemplate;

import cn.com.ldap.Preson.Person;

/**

* @author Wangyaodi version 1.0 2008-6-12 | 下午02:55:25

*/

public class UserDaoLdapImpl {

private LdapTemplate ldapTemplate;

public void setLdapTemplate(LdapTemplate ldapTemplate) {

this.ldapTemplate = ldapTemplate;

}

public List getAllPersonNames() {

return ldapTemplate.search("", "(objectclass=person)",

new AttributesMapper() {

public Object mapFromAttributes(Attributes attrs)

throws NamingException {

return attrs.get("cn").get();

}

});

}

}

package cn.com.ldap;

import java.util.List;

import javax.naming.NamingException;

import javax.naming.directory.Attributes;

import org.springframework.ldap.core.AttributesMapper;

import org.springframework.ldap.core.LdapTemplate;

import cn.com.ldap.Preson.Person;

/**

* @author Wangyaodi version 1.0 2008-6-12 | 下午02:55:25

*/

public class UserDaoLdapImpl {

private LdapTemplate ldapTemplate;

public void setLdapTemplate(LdapTemplate ldapTemplate) {

this.ldapTemplate = ldapTemplate;

}

public List getAllPersonNames() {

return ldapTemplate.search("", "(objectclass=person)",

new AttributesMapper() {

public Object mapFromAttributes(Attributes attrs)

throws NamingException {

return attrs.get("cn").get();

}

});

}

}

preson:

Java代码

package cn.com.ldap;

public class Preson {

public class Person {

private String cn;

private String sn;

public String getCn() {

return cn;

}

public void setCn(String cn) {

this.cn = cn;

}

public String getSn() {

return sn;

}

public void setSn(String sn) {

this.sn = sn;

}

}

}

package cn.com.ldap;

public class Preson {

public class Person {

private String cn;

private String sn;

public String getCn() {

return cn;

}

public void setCn(String cn) {

this.cn = cn;

}

public String getSn() {

return sn;

}

public void setSn(String sn) {

this.sn = sn;

}

}

}

applicationContext.xml

Xml代码

beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

class="org.springframework.ldap.core.support.LdapContextSource">

class="org.springframework.ldap.core.LdapTemplate">

class="org.springframework.ldap.core.support.LdapContextSource">

class="org.springframework.ldap.core.LdapTemplate">

main

Java代码

public static void main(String[] args) {

ApplicationContext cxt = new ClassPathXmlApplicationContext("applicationContext.xml");

UserDaoLdapImpl userDao = (UserDaoLdapImpl)cxt.getBean("userDao");

List users = userDao.getAllPersonNames();

System.out.println(users.size());

}

posted on 2009-04-24 14:31 刘铮 阅读(5965) 评论(0)  编辑  收藏 所属分类: Ldap

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值