引用http://www.devx.com/tips/Tip/39936
Work with SSL/LDAP Using Java
Most applications nowadays authenticate through LDAP (directory service). To set this up, first register the SSL certificate using the keytool utility, as shown below:
Register ssl certificate using keytool:
keytool -import -alias <certname> -file <filename.crt> -keystore "..yourpath\java\jre\lib\security\cacerts"
The following code shows how to connect to LDAP and display the values specific to a username:
..class name..
..
public static void main(String args[]){
String keystore = System.getProperty("" + "/lib/security/cacerts");
System.setProperty(LDAPConstants.LDAP_SSL_TRUST_STORE,keystore);
try{
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://yourservername:636");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PROTOCOL, "ssl");
env.put(Context.SECURITY_PRINCIPAL, "yourusername");
env.put(Context.SECURITY_CREDENTIALS, "yourpassword");
dirCtx = new InitialLdapContext(env, null);
NamingEnumeration ne = null;
SearchControls controls = new SearchControls();
controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
ne = dirCtx.search("OU=Users,DC=yourcompany, DC=com, DC=au","userName="+userName,controls);
if (ne != null) {
if (ne.hasMore()) {
SearchResult item = (SearchResult) ne.next();
display(item.getAttributes());
}
}catch(javax.naming.AuthenticationException e){
e.printStackTrace();
}catch(NamingException e) {
e.printStackTrace();
}
}
private static void display(Attributes attr) throws NamingException{
NamingEnumeration ne = attr.getAll();
while(ne.hasMore()){
Attribute obj = (Attribute)ne.next();
System.out.println(obj.getID()+"\t"+(String)obj.get(0));
}
}
....
...
分享到:
相关推荐
基于SSL的LDAP安全访问AD认证 基于SSL的LDAP安全访问AD认证是指使用SSL(Secure Sockets Layer)协议来保护LDAP(Lightweight Directory Access Protocol)协议与AD(Active Directory)的通信,使得密码在网络中...
本文将深入探讨如何使用Java通过LDAP(轻量级目录访问协议)和SSL(安全套接层)来实现用户和组织(部门)的增删改查操作,并结合证书确保通信的安全性。这些功能通常用于大型企业的用户管理,例如Active Directory...
这个主题涉及几个关键知识点,包括Java LDAP API、SSL安全连接以及如何通过代码操作LDAP目录。 首先,LDAP是一个开放标准的协议,用于存储和检索用户、组、计算机等对象的数据。这些数据通常分布在多台服务器上,...
DzzOffice通过集成AD/LDAP插件,实现了用户信息的自动同步和身份验证功能。用户能够使用他们在Active Directory(AD)或Lightweight Directory Access Protocol(LDAP)中的账户和密码直接登录DzzOffice,无需在...
你可以通过`go get`命令安装第三方的LDAP库,例如`github.com/go-ldap/ldap/v3`。 接下来,我们需要实现几个核心功能: 1. 连接 LDAP 服务器:使用`ldap.Dial`函数创建到LDAP服务器的连接,通常包括主机名和端口。 ...
《LDAP编程与Java》这本书是关于使用Java进行 Lightweight Directory Access Protocol (LDAP) 开发的指南。LDAP是一种开放标准的网络协议,用于访问和管理分布式目录服务。它在企业级应用中广泛使用,如用户身份验证...
【Ubuntu+svn+ssl+ldap】的安装及集成是一个复杂的过程,涉及到Ubuntu操作系统、Subversion (SVN) 版本控制系统、SSL安全套接层以及Lightweight Directory Access Protocol (LDAP) 用户认证。以下是对这些技术的详细...
2. **JOSSO(Java Open Single Sign-On)**:JOSSO 是一个基于 Java 的开放源代码单点登录解决方案,旨在提供一种简单、统一的方式来管理和控制企业环境中用户的访问权限。它支持多种身份验证协议,包括 CAS,使得...
在讨论DNS服务器的配置与部署时,会涉及到DNS信息存储的多种方式,其中一种方式是利用LDAP目录服务或SQL数据库。这种做法主要是为了增强DNS系统的健壮性和扩展性。LDAP目录服务是一种用于存储和检索信息的轻型目录...
JAVA中使用LDAP进行用户认证 JAVA中使用LDAP进行用户认证是指在JAVA应用程序中使用轻量级目录访问协议(LDAP)来进行用户身份验证。LDAP是一种基于X.500标准的目录访问协议,但它更简单、更灵活,可以根据需要进行...
8、在编写 Java 代码时,需要使用 Hashtable 对象来存储 LDAP 连接的参数,使用 Socket 对象来连接 LDAP 服务器,并使用 SSL/TLS 加密协议来确保密码修改的安全性。 9、在编写 Java 代码时,需要使用相关的 LDAP ...
**LDAP搭建及其Java代码连接** LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议,主要用于存储和检索用户信息、组织结构等元数据。它采用层次化的树状结构,便于管理和查找。在IT领域,...
然后,我们需要安装证书服务,以便提供 SSL/TLS 加密通道。 安装 JAVA 应用服务器 最后,我们需要安装 JAVA 应用服务器,以便使用 Java 语言连接到 Active Directory 域控制器。 导出域根证书和计算机证书 在...
安装完成后,需要编辑配置文件 `/etc/ldap/slapd.conf`。使用以下命令打开编辑器: ``` # vim /etc/ldap/slapd.conf ``` 在编辑器中,添加以下内容: ``` include /etc/ldap/schema/core.schema include /etc/ldap/...
IBM Directory Server LDAP v3提供了高级功能,如索引、访问控制、SSL加密和审计日志。在Java编程时,可以利用这些特性增强应用程序的安全性和性能。 ### 7. 结论 通过JNDI与Java结合,开发者可以轻松地实现对IBM ...
Java 连接和验证 LDAP 文档 Java 连接和验证 LDAP 文档是一份关于 Java 语言连接和验证 LDAP 服务器的学习文档。LDAP(Lightweight Directory Access Protocol)是一种目录访问协议,用于管理和访问目录服务中的...
java操作ldap类java操作ldap类java操作ldap类
在Java中,可以使用Java LDAP API来与LDAP服务器进行交互,执行查询、添加、删除、修改等操作。本指南将详细介绍如何使用Java LDAP API。 ### 1. LDAP简介 LDAP目录服务是一种存储组织数据的方式,它不同于传统的...
编辑 `/etc/openldap/slapd.conf` 或 `/etc/ldap/slapd.d/cn=config` 目录下的配置文件,根据你的需求设置用户、组、DNS域名等信息。 4. **导入数据**: 使用LDIF(LDAP Data Interchange Format)文件导入用户和...
PHP-Push-2, 使用 caldav/ldap支持的Z 推送 fork PHP-Push-2PHP-Push-2是 z 推送 -2的modiefied版本,这是开源ActiveSync实现,带有CalDAV和多项目支持。特性使用"组合后端"php-push-2支持以下功能:邮件- IMAP日历-