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

spring ladp

阅读更多
Spring-LDAP

下载地址 :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


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代码

   <?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> 

<?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


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()); 
      } 
分享到:
评论

相关推荐

    Spring+LDAP实现单点登录

    Spring框架与LDAP(轻量级目录访问协议)的结合使用,可以实现高效的单点登录(Single Sign-On,简称SSO)系统。SSO允许用户在多个应用系统中只需要登录一次,即可访问所有相互信任的应用系统,提高了用户体验并简化...

    Spring-ladp-reference

    根据给定的文件信息,以下是对“Spring-LDAP”参考文档的知识点总结与扩展: ### Spring-LDAP概述 Spring-LDAP是Spring框架的一部分,专注于提供与轻量级目录访问协议(LDAP)集成的功能。它简化了开发人员在Java...

    LADP基础培训,初步了解LADP

    ### LDAP基础培训:深入了解LADP #### 一、什么是目录服务和LDAP标准? 目录服务是一种特殊类型的数据库,专门设计用于存储描述性信息,这些信息通常基于属性,并且支持过滤功能。目录服务的特点在于其动态性、...

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

    在本篇博客“spring ldap操作(一)目录测试环境搭建”中,我们将深入探讨如何在Java应用程序中使用Spring LDAP框架来操作LDAP(轻量级目录访问协议)服务器,以及如何搭建一个测试环境来验证和调试相关功能。Spring...

    ladp_admin 工具

    标题中的"ladp_admin工具"实际上是指`LdapAdmin`,这是一个专为OpenLDAP设计的管理工具。OpenLDAP是一款开源的LDAP服务器,广泛用于构建组织的用户身份和权限管理系统。`LdapAdmin`作为其配套的客户端工具,帮助管理...

    LADP属性查看软件,十分方便,并且可修改LADP属性值等等

    这个小软件是用于查看LDAP属性的,非常方便

    ladp.rar_ladp_ldap

    **LDAP(Lightweight Directory Access Protocol)轻量级目录访问协议** LDAP是一种开放的、基于X...通过使用如ladp.xls这样的资源,我们可以深入了解LDAP术语及其在实际应用中的含义,从而更好地利用这一强大的技术。

    ladp study

    NULL 博文链接:https://lujin55.iteye.com/blog/1492535

    java实现对ladp增 删 改 查操作,以及如何按目录遍历节点

    java实现对ladp增 删 改 查操作,以及如何按目录遍历节点,其中有一点设计业务的代码,但是不影响对ladp操作的代码,代码很干净

    LADP服务器安装LADP服务器安装.doc

    【LDAP服务器安装】 LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议,常用于组织和存储用户、组、网络资源等数据。本指南将详细介绍如何在Linux系统上安装和配置LDAP服务器。...

    相关ladp相关资料

    **LDAP(Lightweight Directory Access Protocol)简介** LDAP是一种轻量级目录访问协议,它用于访问和管理分布式目录服务。在IT行业中,LDAP被广泛应用于组织内部的身份验证、用户权限管理和数据存储。...

    LADP的应用文档自己总结的

    以上就是关于LADP(可能是打错了,应为LDAP)的应用文档的详细内容,涵盖了从基础概念、特点到安装配置、目录结构、数据交换格式,以及在Java中的使用方法。这些知识对于理解和实施基于LDAP的解决方案至关重要。

    ladp.rar_ADOS

    本压缩包"ladp.rar_ADOS"包含两个关键文件:uLDAP.pas和Linldap.pas,它们可能是用Pascal语言编写的Delphi源代码,用于实现通过LDAP协议验证用户信息的功能。 首先,让我们深入了解ADOS和ADO(ActiveX Data Objects...

    最好的浏览器ladp3.1

    Your JXplorer - A Java Ldap Browser download will start shortly

    ldapLeaning:ladp学习

    ldapLeaningLDAP目录中的信息是是按照树型结构组织,具体信息存储在条目(entry)的数据结构中。条目相当于关系数据库中表的记录;条目是具有区别名DN (Distinguished Name)的属性(Attribute),DN是用来引用条目的...

    ldap相关类,可以自定义获取超过1000行记录的,不用原来的ldap.jar了

    之前用ldap.jar查询记录最多只能1000行,后面在网上找到了个方法,可以自定义最大记录数,代码是这样的: [java] view plain copy netscape.ldap.LDAPConnection lc = new netscape.ldap.LDAPConnection();...

    LADP毕业实习报告(计算机、软件实习)基于LDAP认证和MOM的分布式会议系统

    项目可能涉及到的技术有Java、Spring框架、JNDI(Java Naming and Directory Interface)用于与LDAP交互,以及Apache ActiveMQ或RabbitMQ作为MOM实现。开发环境可能包括Eclipse或IntelliJ IDEA等IDE,以及Git进行...

    Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码

    Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码 本篇文章主要介绍了使用Vue、Jwt、SpringBoot和Ldap完成登录认证的示例代码,旨在帮助读者了解如何使用这些技术来实现安全的登录认证机制。 首先,让我们了解一下...

    SSO.rar_CAS SSO_ladp sso_ldap_linux sso_sso

    SSO(Single Sign-On)是一种身份验证机制,它允许用户在一个系统中登录后,无需再次认证即可访问其他多个相互信任的系统。在这个场景中,我们关注的是如何在Linux环境中利用LDAP(Lightweight Directory Access ...

Global site tag (gtag.js) - Google Analytics