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即查找的根路径
分享到:
相关推荐
LDAP是一种标准的网络协议,用于存储和检索分布式目录服务中的信息。在企业环境中,LDAP常用于集中管理用户账户、权限和身份验证。通过与LDAP服务器交互,应用可以验证用户的凭证,获取用户角色和权限。 **二、...
通过这些库,开发者可以快速搭建和测试基于Spring LDAP的应用,无论是简单的查询还是复杂的目录操作,都能得到很好的支持。同时,由于Spring LDAP与Spring框架的深度集成,开发者还可以享受到Spring的其他优势,如...
- **Spring表达式语言(SpEL)**:一种强大的表达式语言,用于运行时查询和操作对象图。 - **通过Java类提供IoC配置信息**:允许使用纯 Java 配置替代 XML 配置文件,提高了灵活性和简洁性。 - **通用类型转换...
- **自动配置(auto-config)**:Spring Security提供了一些默认的安全设置,开发者可以选择启用这些设置来快速搭建一个基本的安全框架。 - **表单和基本登录选项**:通过配置元素中的form-login和http-basic元素,...
手册会展示如何利用Spring Boot的特性快速搭建安全环境。 9. **异常处理与错误页面**:手册会指导如何定制Spring Security的异常处理机制,包括自定义错误页面和异常类型映射。 10. **Spring Security测试**:确保...
环境搭建 - **安装 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**:自动化构建工具,可...
4. **测试环境准备就绪**,包含了Anthill和CruiseControl的配置文件,便于持续集成。 5. **数据库表CRUD操作**:提供了一种简单的方式来自动生成与数据库表相关的代码。 #### 四、使用指南 1. **开发环境设置**: ...
- 压缩包中的数据库文件可能包含了预设的用户信息、角色和权限数据,用于快速搭建和测试SSO环境。 这个集成方案利用Shiro的强大安全功能,SpringMVC的Web处理能力,Redis的高效缓存特性,以及MySQL的稳定存储,...
单点登录(Single Sign-On,简称SSO)是一种网络身份验证机制...只需要针对自身的数据库环境进行微调,就可以快速搭建起一个安全高效的身份验证中心。记得在部署和配置过程中遵循最佳实践,确保系统的稳定性和安全性。
HSQLDB被选为默认的数据库,因为它易于使用,快速且适用于开发和测试环境。由于Acegi Security涉及用户身份验证和权限管理,因此需要数据库来存储用户信息,如用户名、密码以及用户的角色和权限。在这个例子中,我们...
总之,“SSO之CAS单点登录详细图文教程.zip”是一个全面的指南,它将引导你通过每一步操作,实现CAS服务端和客户端的集成,最终搭建起一个可靠的SSO系统。在阅读文档和实践操作的过程中,你将深入理解SSO的工作原理...
- 同一Tomcat部署:将提供的三个工程(CAS服务器和两个测试客户端)全部打包成WAR文件,放入同一个Tomcat的webapps目录下,启动后可以同时运行并测试SSO效果。 - 分开部署:如果因为资源限制或隔离需求,可以将...
这一框架的核心优势在于其对Java平台的深入支持以及与多种Web框架和数据库技术的兼容性,从而使得开发者能够专注于业务逻辑的实现而非基础设施的搭建。 ### AppFuse的七大理由 AppFuse提供了七种简单的理由来解释...
3. **测试登出功能**:确保从一个应用登出后,所有已登录的应用都同时注销。 在试运行过程中,应密切关注日志,查找可能的错误或异常,及时调整配置或修复问题。同时,确保遵循最佳实践,如定期更新CAS服务器以获取...
- 图文教程:结合具体的步骤和截图,指导用户从零开始搭建和测试CAS环境。 - 案例分析:通过实际项目案例,展示CAS在企业级应用中的应用和效果。 这个教程包含的文件很可能会包括安装文档、代码文档和源码,这些...