`

Spring-LDAP 的例子

    博客分类:
  • Java
阅读更多

下载地址 :http://www.springframework.org/ldap

用Spring LDAP最少需要:

  • spring-ldap(spring-ldap包)
  • spring-core(用于框架内部的丰富的工具类)
  • spring-beans(方便操作java beans的接口和类)
  • spring-context(增加通过一致API为应用对象获取资源的能力)
  • spring-dao(使经常性的错误处理跟使用中的数据访问分开的异常处理机制)
  • commons-logging(简单的日志处理,内部使用)

UserDaoLdapImpl

package com.kingsoft.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 King_wangyao
 */
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:

package com.kingsoft.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 version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
	<bean id="contextSource"
		class="org.springframework.ldap.core.support.LdapContextSource">
		<property name="url" value="ldap://192.168.16.XXX:389" />
		<property name="base" value="OU=XXX,OU=XXX,OU=XXX,OU=XXX,DC=XXX,DC=XXX,DC=XXX" />
		<property name="userName" value="XXX@headquarter" />
		<property name="password" value="XXX" />
	</bean>

	<bean id="ldapTemplate"
		class="org.springframework.ldap.core.LdapTemplate">
		<constructor-arg ref="contextSource" />
	</bean>

	<bean id="userDao" class="cn.com.ldap.UserDaoLdapImpl">
		<property name="ldapTemplate">
			<ref bean="ldapTemplate" />
		</property>
	</bean>
</beans>

 main:

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());
}

  

分享到:
评论

相关推荐

    spring-Ldap

    本人亲手所写一个关于spring-ldap完整的例子,包含多种方法的增删改查,有兴趣的朋友可以下载看看,有代码类和用到的相关包

    spring-ldap demo

    包含spring-ldap的简单操作的例子和EXT结合展示 以及相应的文档

    Spring-LDAP

    spring LDAP samples,很好的学习例子

    Spring 初步实现LDAP 域认证

    Spring 实现LDAP 域认证,内有个人项目的实例分析,,希望大家参考,也可以给意见

    spring-boot-ldap-useradmin:使用 ldap 进行用户管理

    它使用了 Spring LDAP 中的许多有用概念,并将作为最佳实践和各种有用技巧的一个很好的例子。LDAP 中的用户和组LDAP 中的用户通常表示为 LDAP 树中的organizationalPerson或inetOrgPerson条目。 这些条目中的属性...

    springldap例子

    NULL 博文链接:https://andilyliao.iteye.com/blog/644326

    Spring Security-3.0.1中文官方文档(翻译版)

    LDAP - spring-security-ldap.jar 1.4.1.5. ACL - spring-security-acl.jar 1.4.1.6. CAS - spring-security-cas-client.jar 1.4.1.7. OpenID - spring-security-openid.jar 1.4.2. 获得源代码 2. ...

    SpringLDAP和JNDI的增删改查

    SpringLDAP和JNDI增删改查的入门级例子 能够通过编译和运行 已经包含了需要的包,用eclipse导入即可

    spring+ldap

    spring和ldap结合,里面介绍挺全的,还有例子

    Spring Security 中文教程.pdf

    3.3. LDAP例子 3.4. CAS例子 3.5. Pre-Authentication例子 4. Spring Security社区 4.1. 任务跟踪 4.2. 成为参与者 4.3. 更多信息 II. 结构和实现 5. 技术概述 5.1. 运行环境 5.2. 核心组件 ...

    阿里云java短信验证码源码-springbootDubbo:这个库是用来做web分布式架构的用例

    spring-cloud-microservice-in-action spring cloud 例子 ctoedu-dubbo dubbo rest ctoedu-dubbo-demo 使用dubbo注解方式 mybatis 简单的mybatis例子(初学) ctoedu-ldap 基于ldap实现 ctoedu-jap-example jpa 多对...

    zxing.java源码解析-allKinds:所有种类

    spring-cloud-microservice-in-action spring cloud 例子 ctoedu-dubbo dubbo rest ctoedu-dubbo-demo 使用dubbo注解方式 mybatis 简单的mybatis例子(初学) ctoedu-ldap 基于ldap实现 ctoedu-jap-example jpa 多对...

    java乐器源码-learndemo::fire:javapythongoitem(demo)

    spring-cloud-microservice-in-action spring cloud 例子 ctoedu-dubbo dubbo rest ctoedu-dubbo-demo 使用dubbo注解方式 mybatis 简单的mybatis例子(初学) ctoedu-ldap 基于ldap实现 ctoedu-jap-example jpa 多对...

    SpringSecurity 3.0.1.RELEASE.CHM

    3.3. LDAP例子 3.4. CAS例子 3.5. Pre-Authentication例子 4. Spring Security社区 4.1. 任务跟踪 4.2. 成为参与者 4.3. 更多信息 II. 结构和实现 5. 技术概述 5.1. 运行环境 5.2. 核心组件 5.2.1. ...

    Spring 各种例子:Spring Data Elasticsearch,JDBC,JPA,LDAP,MongoDB

    2. Spring Data Elasticsearch:展示了基本文本搜索、地理空间搜索和分面搜索的示例。使用了High Level REST Client作为模板和仓库的后端。 - example:展示了使用基本文本搜索、地理空间搜索和分面搜索的示例。 -...

    学习spring的思想.自己写的一个拦截method的例子

    博文链接:https://kyo1314.iteye.com/blog/35847

    gs-rolebased-ui-with-hypermedia

    Spring 支持许多常见的身份验证和授权模式和标准,例如 OAuth2 和通过 LDAP 或 CAS 进行的用户管理。 它还通过 Spring HATEOAS 和 Spring Data REST 支持成熟的 REST 模型,例如超媒体。 在客户端,企业通常喜欢...

    JAVA上百实例源码以及开源项目源代码

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

    JAVA上百实例源码以及开源项目

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

Global site tag (gtag.js) - Google Analytics