`
johnson_gong
  • 浏览: 12648 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

java LDAP 使用简单步骤

    博客分类:
  • LDAP
 
阅读更多
项目背景:
某电信项目,使用LDAP存储用户信息。现在需要根据用户的“电话号码”获取其全部信息。
关键代码(我当时不会的):
[size=large][color=green]
// LDAPEntry nextEntry = searchResults.next();
// LDAPAttributeSet attSet = nextEntry.getAttributeSet();
// for (Iterator iterator = attSet.iterator(); iterator.hasNext();) {
//	LDAPAttribute att = (LDAPAttribute) iterator.next();
//	LDAPattrNameValue.add(att.getName() + ": " + att.getStringValue());
//}
[/color][/size]

详细代码:
// ConnectDIR
String ldapHost = "xxx.xxx.xxx.xxx";

// To get user's id
String loginDN = "0001";

// To get user's password
String password = "admin"

LDAPConnection lc = new LDAPConnection();

// connect the "LDAP Server"
lc.connect(ldapHost, LDAPConnection.DEFAULT_PORT);

// Binding "LDAP Server"
lc.bind(LDAPConnection.LDAP_V3, loginDN, password.getBytes("UTF8"));

//SearchBase、SearchFilter、SearchScope
String strSearchBase = CLdapBasednInfo.getBaseDnNe();
String strsearchFilter = "cn=" + telephoneNO.replaceFirst("0{1}", "");
int intSearchScope = LDAPConnection.SCOPE_SUB;

// search the LDAP BY the telephoneNO TO get ENTRY. 
LDAPSearchResults searchResults = lc.search(strSearchBase,intSearchScope,strsearchFilter,null,false);

// searchResults.hasMore()

while (searchResults.hasMore()) {
	LDAPEntry nextEntry = null;
	try {
		nextEntry = searchResults.next();
	} catch (LDAPException ldape) {
		throw ldape;
	}
	dn = nextEntry.getDN();
	
	LDAPattrNameValue.add("dn:" + dn);
	LDAPAttributeSet attSet = nextEntry.getAttributeSet();
	for (Iterator iterator = attSet.iterator(); iterator.hasNext();) {
		LDAPAttribute att = (LDAPAttribute) iterator.next();
		LDAPattrNameValue.add(att.getName() + ": " + att.getStringValue());
	}
	
}

lc.disconnect();

// catch(LDAPException ldape)

// ===
// LDAPEntry nextEntry = searchResults.next();
// LDAPAttributeSet attSet = nextEntry.getAttributeSet();
// for (Iterator iterator = attSet.iterator(); iterator.hasNext();) {
//	LDAPAttribute att = (LDAPAttribute) iterator.next();
//	LDAPattrNameValue.add(att.getName() + ": " + att.getStringValue());
//}

可供参考的网站:
"Download URL:"
  http://www.findjar.com/jar/com.novell.ldap/jars/jldap-4.3.jar.html
"Tutorial"
  http://quark.humbug.org.au/publications/ldap/ldap_tut.html
分享到:
评论

相关推荐

    Sun one LDAP Management

    本管理指南介绍了配置和维护基于 Sun ONE Directory Server 的目录服务所需的全 部步骤。其中包括从控制台或命令行配置所有 Directory Server 功能的步骤(如果 适用)。

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

     Java编写的HTML浏览器源代码,一个很简单甚至不算是浏览器的HTML浏览器,使用方法:  可直接输入文件名或网络地址,但必需事先连入网络。 Java编写的山寨QQ,多人聊天+用户在线 21个目标文件 摘要:JAVA源码,...

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

     Java编写的HTML浏览器源代码,一个很简单甚至不算是浏览器的HTML浏览器,使用方法:  可直接输入文件名或网络地址,但必需事先连入网络。 Java编写的山寨QQ,多人聊天+用户在线 21个目标文件 摘要:JAVA源码,...

    rest-auth-proxy:基于Java的restful ldap-authentication微服务

    使用 rest-auth-proxy 微服务rest-auth-proxy 是一个基于 Java 的 restful ldap-authentication 微服务,可用于根据 ldap 和活动目录对用户进行身份验证。 它充当调用应用程序和 ldap 服务器之间的身份验证代理。 ...

    LDAP技术,LDAP学习大全

    第二节ldapbrowser JAVA 开源LDAP 客户端工具............................................................29 第三节ldapadministrator...........................................................................

    ldapcheck:针对LDAP或AD验证Cloudera Manager外部身份验证设置

    在下面的步骤6中,您将看到sAMAccountName值的参考,以匹配userPrincipalName值。 选择AD作为身份验证类型时,这是必需的。 2.1。 设置“ LDAP_TYPE” LDAP的有效LDAP ,Active Directory的无/空 2.2。 设置“ ...

    springldaptest.java

    由于项目需要,学习ldap操作ad域,在此过程中发现网上资料千篇一律,而实现过程中多存在问题,对于初学者的关键步骤和注意事项未有提及。故而提供测试java源码,希望对初学者有用,相互学习。 本文是通过springldap...

    Java 虚拟机面试题全面解析(干货)

    对于上述最简单的访问,也会涉及到Java栈、Java堆、方法区这三个最重要内存区域。 Object obj 如果出现在方法体中,则上述代码会反映到Java栈的本地变量表中,作为 reference类型数 据出现。 new Object( 反映到Java堆...

    centos7安装zabbix3.0超详细步骤解析

    CentOS 7 安装 Zabbix 3.0 超详细步骤解析 安装前准备 在安装 Zabbix 3.0 之前,需要安装依赖包,包括 `wget`、`net-snmp-devel`、`OpenIPMI-devel`、`httpd`、`openssl-devel`、`java`、`lrzsz`、`fping-devel`、...

    aem-ldap-tutorial

    AEM 6.1外部身份验证教程本教程将逐步介绍设置和配置LDAP服务器以及配置AEM以使用示例数据进行身份验证的步骤。 作为奖励,我们展示了如何构建和配置自己的身份提供者。栏目1 23奖金4 资源ldif示例文件: 带有AEM ...

    weblogic 密码破解

    WebLogic 是一种流行的 Java 企业级应用服务器,广泛应用于企业级应用开发和部署中。然而,在实际应用中,WebLogic 密码破解问题经常会困扰开发者和管理员。本文将对 WebLogic 密码破解进行详细的讲解,并提供实用的...

    geode-security-samples

    并且,创建分区和复制区域authN和authZ回调的示例Java实现示例Java客户端应用程序可同时测试authN和authZ回调先决条件在您的本地环境中,执行以下步骤: 安装Java SE 7,因为Geode需要它按照指定的方式从源代码构建...

    Spring Security 中文教程.pdf

    序言 I. 入门 1. 介绍 1.1. Spring Security是什么? 1.2. 历史 ...1.4.1.1.... 使用<ldap-server> 元素定义LDAP服务器 B.3.2.2. <ldap-provider> 元素 B.3.2.3. <ldap-user-service> 元素

    apache-fortress-demo:示例Web应用程序演示了JavaEE,Spring Security和RBAC细粒度授权的端到端安全性。 所有连接均使用SSL

    Ansible剧本,用于执行安装和设置Apache Fortress Demo的步骤,包括OpenLDAP,Apache Tomcat,MariaDB,生成证书,密钥等。 目标环境的先决条件 安装了OpenSSL的Debian或Redhat Liunx变体计算机。 Java 8 ++ ...

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

    Spring Security-3.0.1 中文官方文档(翻译版) 这次发布的Spring Security-3.0.1 是一个bug fix ... 使用<ldap-server> 元素定义LDAP 服务器 B.3.2.2. <ldap-provider> 元素 B.3.2.3. <ldap-user-service> 元素

    Teaching-HEIGVD-RES-2015-Labo-06-Copy:wasadigiTeaching-HEIGVD-RES-2015-Labo-06的副本供个人使用

    我们首先必须定义目录的组织方式,然后必须将数据从.csv文件导入目录,所有步骤都需要明确地详细显示。 该实验室于2015年6月由和Valentin Minder在Olivier Liecthi提供的HEIG-VD / HES-SO网络课程中完成。 HES-SO...

    Spring-Security-Third-Edition:Spring Security第三版,由Packt发行

    在整本书中一直用作视图模板引擎章节LDAP目录服务记住我的服务使用TLS的客户端证书身份验证打开OAuth2 使用中央身份验证服务的单点登录细粒度的访问控制访问控制列表定制授权会话管理其他Spring安全功能具有OAuth2...

    springmvc+shiro配置教程

    SpringMvc和Shiro是两个widely使用的Java Web开发框架,前者是一个基于模型-视图-控制器(MVC)模式的Web应用程序框架,而后者是一个基于权限控制的安全框架。将这两个框架结合使用,可以实现一个安全、可靠、灵活的...

    JIRA 从入门到精通.doc

    JIRA是一个简单易用的Issue管理和跟踪的工具,运行在JAVA平台上。下载和安装都很容易,按照安装文档,只需要十几分钟就可以搞定,而且还可以为JIRA配置单独的外包数据库(可以使用的数据库有MySQL、MS SQL、Oracle等)...

Global site tag (gtag.js) - Google Analytics