`
xrb2008
  • 浏览: 170996 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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"?>
<beans
	xmlns="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"  
        class="org.springframework.ldap.core.support.LdapContextSource">  
        <property name="url" value="ldap://10.201.4.*:389" />  
        <property name="base" value="o=*" />  
        <property name="userDn" value="cn=*"/>  
        <property name="password" value="***" />  
    </bean>  
  
    <bean id="ldapTemplate"  
        class="org.springframework.ldap.core.LdapTemplate">  
        <constructor-arg ref="contextSource" />  
    </bean>  
    

	<bean id="personDao" class="springLdapContext.PersonDaoImpl">
		  <property name="ldapTemplate">  
            <ref bean="ldapTemplate" />  
        </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即查找的根路径

2
3
分享到:
评论

相关推荐

    Spring Security3.2搭建LDAP认证授权

    LDAP是一种标准的网络协议,用于存储和检索分布式目录服务中的信息。在企业环境中,LDAP常用于集中管理用户账户、权限和身份验证。通过与LDAP服务器交互,应用可以验证用户的凭证,获取用户角色和权限。 **二、...

    spring-ldap-1.3.1.RELEASE-with-dependencies.zip

    通过这些库,开发者可以快速搭建和测试基于Spring LDAP的应用,无论是简单的查询还是复杂的目录操作,都能得到很好的支持。同时,由于Spring LDAP与Spring框架的深度集成,开发者还可以享受到Spring的其他优势,如...

    Spring_3.x企业应用开发实战 目录

    - **Spring表达式语言(SpEL)**:一种强大的表达式语言,用于运行时查询和操作对象图。 - **通过Java类提供IoC配置信息**:允许使用纯 Java 配置替代 XML 配置文件,提高了灵活性和简洁性。 - **通用类型转换...

    spring 安全文档 PDF

    - **自动配置(auto-config)**:Spring Security提供了一些默认的安全设置,开发者可以选择启用这些设置来快速搭建一个基本的安全框架。 - **表单和基本登录选项**:通过配置元素中的form-login和http-basic元素,...

    Spring+Security+安全权限管理手册.pdf

    手册会展示如何利用Spring Boot的特性快速搭建安全环境。 9. **异常处理与错误页面**:手册会指导如何定制Spring Security的异常处理机制,包括自定义错误页面和异常类型映射。 10. **Spring Security测试**:确保...

    spring security 3.1

    环境搭建 - **安装 JDK 1.6 或更高版本**:Spring Security 3.1 要求 Java 环境至少为 JDK 1.6。 - **下载并配置 Spring Framework**:Spring Security 依赖于 Spring Framework,因此需要先安装并配置好 Spring ...

    从无到有搭建中小型互联网公司后台服务架构和运维架构

    - **Spring LDAP**:提供了一种简单的方式来访问LDAP目录服务器中的信息。 - **Spring Data JPA**:简化了基于JPA(Java Persistence API)的数据访问层。 2. **项目管理工具** - **Maven**:自动化构建工具,可...

    AppFuse

    4. **测试环境准备就绪**,包含了Anthill和CruiseControl的配置文件,便于持续集成。 5. **数据库表CRUD操作**:提供了一种简单的方式来自动生成与数据库表相关的代码。 #### 四、使用指南 1. **开发环境设置**: ...

    shiro+ springMVC + Redis+mysql 实现 单点登录

    - 压缩包中的数据库文件可能包含了预设的用户信息、角色和权限数据,用于快速搭建和测试SSO环境。 这个集成方案利用Shiro的强大安全功能,SpringMVC的Web处理能力,Redis的高效缓存特性,以及MySQL的稳定存储,...

    cas5.3.1.rar,单点登录服务器完成可用

    单点登录(Single Sign-On,简称SSO)是一种网络身份验证机制...只需要针对自身的数据库环境进行微调,就可以快速搭建起一个安全高效的身份验证中心。记得在部署和配置过程中遵循最佳实践,确保系统的稳定性和安全性。

    acegi 例子 近企业中项目中使用的项目架构 支持数据库

    HSQLDB被选为默认的数据库,因为它易于使用,快速且适用于开发和测试环境。由于Acegi Security涉及用户身份验证和权限管理,因此需要数据库来存储用户信息,如用户名、密码以及用户的角色和权限。在这个例子中,我们...

    SSO之CAS单点登录详细图文教程.zip

    总之,“SSO之CAS单点登录详细图文教程.zip”是一个全面的指南,它将引导你通过每一步操作,实现CAS服务端和客户端的集成,最终搭建起一个可靠的SSO系统。在阅读文档和实践操作的过程中,你将深入理解SSO的工作原理...

    cas实现单点登录服务端及客户端

    - 同一Tomcat部署:将提供的三个工程(CAS服务器和两个测试客户端)全部打包成WAR文件,放入同一个Tomcat的webapps目录下,启动后可以同时运行并测试SSO效果。 - 分开部署:如果因为资源限制或隔离需求,可以将...

    appfuse 2.0.2PDF格式文档

    这一框架的核心优势在于其对Java平台的深入支持以及与多种Web框架和数据库技术的兼容性,从而使得开发者能够专注于业务逻辑的实现而非基础设施的搭建。 ### AppFuse的七大理由 AppFuse提供了七种简单的理由来解释...

    cas单点登录 server端,运行成功

    3. **测试登出功能**:确保从一个应用登出后,所有已登录的应用都同时注销。 在试运行过程中,应密切关注日志,查找可能的错误或异常,及时调整配置或修复问题。同时,确保遵循最佳实践,如定期更新CAS服务器以获取...

    CAS单点登陆图文教程

    - 图文教程:结合具体的步骤和截图,指导用户从零开始搭建和测试CAS环境。 - 案例分析:通过实际项目案例,展示CAS在企业级应用中的应用和效果。 这个教程包含的文件很可能会包括安装文档、代码文档和源码,这些...

Global site tag (gtag.js) - Google Analytics