- 浏览: 770162 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
corelengine:
好文,支持一下!
在 Spring Web Flow 项目中应用 Hessian 服务 -
corelengine:
感谢分享,不过你的工程太简单了,怎么可以导入eclipse
Spring Web Flow 2.0 入门 例子源码 -
chenrongtao2132:
melody404 写道请教博主一个问题
登录成功以后为什么老 ...
CAS 单点登录安装笔记4 -- asp.net client端的设置 -
chxiaowu:
从头到尾没发现 那里有 cxf bean配置啊。。。。
WebService开发笔记 3 -- 增强访问 WebService 的安全性 -
chxiaowu:
严重: StandardWrapper.Throwable
o ...
WebService开发笔记 3 -- 增强访问 WebService 的安全性
java 代码
- package test.coral.core.ldap;
- //引入LDAP的包
- import java.util.Enumeration;
- import java.util.Hashtable;
- import javax.naming.Context;
- import javax.naming.NamingEnumeration;
- import javax.naming.directory.Attribute;
- import javax.naming.directory.Attributes;
- import javax.naming.directory.DirContext;
- import javax.naming.directory.InitialDirContext;
- import javax.naming.directory.SearchControls;
- import javax.naming.directory.SearchResult;
- import org.apache.commons.lang.StringUtils;
- //import mm.splitString;
- public class JNDISearch {
- public static String INITCTX = "com.sun.jndi.ldap.LdapCtxFactory"; // 驱动
- public static String MY_HOST = "ldap://localhost:389"; // 主机地址和端口
- public static String MY_SEARCHBASE = "dc=xxx,dc=com"; // 基点入口
- public static String MY_FILTER = "uid=txhzm"; // 过滤条件
- public static String MGR_DN = "cn=admin,dc=gzbd1b,dc=com"; // 用户名
- public static String MGR_PW = "pwd"; // 密码
- public static String MY_ATTRS[] = { "uid","cn","userpassword","mail"};
- // StringBuffer res = new StringBuffer(); //用来输入名字,IP地址的对象
- public static String temp = new String();
- public String search() throws Exception {
- StringBuffer res = new StringBuffer();
- try {
- // 建立连接
- Hashtable env = new Hashtable();
- env.put(Context.INITIAL_CONTEXT_FACTORY, INITCTX);
- env.put(Context.PROVIDER_URL, MY_HOST);
- env.put(Context.SECURITY_AUTHENTICATION, "simple"); // 使用简单认证来认证用户
- env.put(Context.SECURITY_PRINCIPAL, MGR_DN);
- env.put(Context.SECURITY_CREDENTIALS, MGR_PW);
- DirContext ctx = new InitialDirContext(env);
- // 设置查询范围并开始查询
- SearchControls constraints = new SearchControls();
- constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);
- NamingEnumeration results = ctx.search(MY_SEARCHBASE, MY_FILTER,
- constraints);
- // 打印查询结果
- while (results != null && results.hasMore()) {
- SearchResult sr = (SearchResult) results.next();
- String dn = sr.getName();
- if(StringUtils.isBlank(dn)) continue;
- dn = dn + "," + MY_SEARCHBASE;
- System.out
- .println("==============================================");
- System.out.println("Distinguished Name is: " + dn);
- // 打印指定的字段//////////////////////////////////////////////////////////////////
- Attributes ar = ctx.getAttributes(dn, MY_ATTRS);
- if (ar == null) {
- // 对应的uid没有多余的属性
- System.out.println("Entry " + dn
- + " has none of the specified attributes\n");
- } else {
- // 开始显示对应的字段
- for (int i = 0; i < MY_ATTRS.length; i++) {
- Attribute attr = ar.get(MY_ATTRS[i]);
- if (attr != null) {
- System.out.print(MY_ATTRS[i] + " : ");
- for (Enumeration vals = attr.getAll(); vals
- .hasMoreElements();) {
- Object obj = vals.nextElement();
- System.out.println("\t" + obj);
- res.append(temp + "/");
- }
- }
- System.out.println("\n");
- }
- // /////////////////////////////////////////////////////////////////////////////////
- /*
- * 打印全部的字段///////////////////////////////////////////////////////////////////
- * Attributes attrs = sr.getAttributes();
- * for(NamingEnumeration ne = attrs.getAll();
- * ne.hasMoreElements(); ){ Attribute attr = (Attribute)
- * ne.next(); String attrID = attr.getID();
- * System.out.println(attrID+": "); for(Enumeration vals =
- * attr.getAll();vals.hasMoreElements(); ){
- * System.out.println("\t"+vals.nextElement()); }
- */// ///////////////////////////////////////////////////////////////////////////////
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- System.exit(1);
- }
- System.out.println(res.toString() + "\n\n\n\n ---- end ----");
- // splitString sp = new splitString();
- // System.out.println("一共有"+sp.splitString(res.toString()).length+"个返回");
- // //打印显示结果,计算返回的数组值
- //return sp.splitString(res.toString());
- return res.toString();
- }
- ///////////////////////////////////////////////////////////////////////////////////////////
- // 使用正则表达式来分拣提取的字符串 ///////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////////////////
- public static void main(String args[]) {
- JNDISearch search = new JNDISearch();
- //System.out.println(myMail.sendMail("libem@163.com", "this is test", "my \n test"));
- try {
- System.out.println(search.search());
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
发表评论
-
Android开发笔记
2009-10-19 09:11 16691.复制数据库文件: D:\Program Files\and ... -
天气预报的 WebService 服务网站
2009-06-29 10:53 0http://www.webxml.com.cn/WebSer ... -
在 Spring Web Flow 项目中应用 Hessian 服务
2009-05-21 11:19 2600原来作的一个项目因为页面跳转比较多,应用了S ... -
Spring Web Flow 2.0 入门 例子源码
2008-12-22 11:34 11817developerWorks 中有一篇教材讲解了 Spr ... -
JAD反编译工具
2008-05-29 11:33 5069This is README file for Jad - t ... -
压力测试与系统调优
2008-05-04 16:19 2349最近用loadrunne ... -
通过压力测试排查Bug(二)--排查Bug
2008-05-04 11:44 1848最近的一个项目 ... -
通过压力测试排查Bug(一)--测试过程
2008-05-04 11:05 1644最近的一个项目应用了Acegi作为安全框架,项目试运 ... -
WebService开发笔记 3 -- 增强访问 WebService 的安全性
2008-03-19 09:50 21877在WebService开发笔记 1中我们创建了一个WebSer ... -
WebService开发笔记 2 -- VS 2005 访问WebServcie更简单
2008-03-12 19:32 11206WebService开发笔记 2 -- VS 2005 访问W ... -
WebService开发笔记 1 -- 利用cxf开发WebService竟然如此简单
2008-03-12 18:37 27576WebService开发笔记 1 -- 利用cxf开发WebS ... -
Tomcat 配置 -- 打开中文文件名的附件
2008-03-04 10:23 1967设计了文件上传的工具,但在Tomcat服务器上访问中文文件名的 ... -
常用的System.getProperty()
2008-03-02 11:53 29常用的System.getProperty()System.g ... -
CAS 单点登录安装笔记4 -- asp.net client端的设置
2008-03-02 11:51 16528CAS 单点登录安装笔记4 --- asp.net clien ... -
CAS 单点登录安装笔记3 -- 与acegi集成
2008-02-28 23:38 8309CAS 单点登录安装笔记3 -- 与acegi集成 在我的项 ... -
CAS 单点登录安装笔记2 -- 配置CAS,访问自己的用户表
2008-02-27 17:45 7042CAS 单点登录安装笔记2 1.修改cas/webapp/ ... -
CAS 单点登录安装笔记1 -- 基本设置与数字证书的安装
2008-02-26 16:35 5737安装JA-SIG SSO系统笔记1 (关于配置访问数据库的用 ... -
JAVA文档
2007-12-19 16:05 1203JAVA相关文档 http://www.lybbs.net/n ... -
Tomcat性能调优(2)
2007-12-19 15:37 2936原文出处:http://www.lybbs.n ... -
Spring 通过 Tomcat 6.0 下的数据源连接池 访问Oracle数据库
2007-12-17 18:26 5997头疼的老问题,折腾了一天,tomcat6.0数据源配置 to ...
相关推荐
在这个"LDAP实例源码"中,我们可以看到一个用纯Java实现的示例,它展示了如何与LDAP服务器进行交互。下面我们将深入探讨这个主题。 首先,源码中可能包含了使用Java LDAP API(JNDI,Java Naming and Directory ...
**LDAP实例详解** LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议,用于存储和检索分布式目录服务中的信息。在IT行业中,LDAP被广泛应用于用户身份验证、权限管理和组织结构管理等领域。...
在创建一个Sun LDAP实例时,你需要按照以下步骤进行操作: 1. **环境准备**: - 确保你已经正确安装了Sun Directory Server软件。通常,它会被安装在 `/opt/IBM/ldap/V6.0` 这样的目录下。 - 使用Xmanager或其他...
为了确保各个LDAP实例之间的协调工作,以及优化资源利用,正确地运行`idsxcfg`工具至关重要。`idsxcfg`是IBM Directory Server(原IBM Tivoli Directory Server)提供的一款用于配置和管理LDAP服务器的重要工具。...
### LDAP 通用及实例知识点详解 #### 一、LDAP简介 LDAP(Lightweight Directory Access Protocol,轻量目录访问协议)是一种基于X.500标准的目录服务协议,用于存储和检索目录信息。它通常被用来管理用户身份验证...
Java 操作 LDAP 的简单实例 Java 操作 LDAP(Lightweight Directory Access Protocol,轻量目录访问协议)的简单实例是 Java 语言中访问和操作 LDAP 服务器的基本示例。本示例展示了如何使用 Java 语言连接 LDAP ...
### LDAP资料代码实例详解 #### 一、创建对象 在LDAP(轻量级目录访问协议)中,创建对象是管理目录服务的一项基本操作。本文档将详细介绍如何在LDAP环境中创建不同类型的对象,包括用户、计算机、组织单位、联系...
标题 "Laravel开发-my-eloquent-ldap" 提示我们这是一个关于Laravel框架的开发项目,具体来说是与Eloquent ORM(对象关系映射)结合使用来处理LDAP(轻量级目录访问协议)的扩展。Eloquent是Laravel中的默认ORM,...
这是一个可以登录ldap服务器并取出想要的结果 的一个简单例子。..
Java连接LDAP(Lightweight Directory Access Protocol)是一种常见的任务,用于在分布式环境中管理和访问目录服务信息。这个主题涉及几个关键知识点,包括Java LDAP API、SSL安全连接以及如何通过代码操作LDAP目录...
【LDAP服务器介绍】 LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议,它源自上世纪80年代的国际电报电话协商委员会(CCITT)和国际标准组织ISO的需求,旨在提供一种查找电话号码和电子...
《LDAP原理配置指南》 LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议,它源于X.500标准,但针对TCP/IP网络环境进行了简化,使得其在现代企业网络环境中得到了广泛的应用。飞塔信息技术...
**LDAP浏览器:深入理解与应用** LDAP(轻量级目录访问协议)是一种用于查询和管理分布式目录服务的网络协议,广泛应用于企业环境中的用户身份验证、权限管理和数据共享。LdapBrowser是一款专为开放源代码的...
**LDAP简介** LDAP,全称为轻量级目录访问协议(Lightweight Directory Access Protocol),是一种用于访问和管理分布式目录服务的标准网络协议。它主要用于存储和检索用户、组织、资源等信息,广泛应用于身份验证...
**LDAP(轻量级目录访问协议)是一种网络协议,用于访问和管理分布式目录服务。它在各种操作系统上广泛使用,包括Windows。本文将详细介绍在Windows环境下安装LDAP服务器以及使用 LDAP 客户端工具 LdapAdmin 的步骤...
**LDAP简介** LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议,常用于存储和检索用户账户、联系人信息、配置数据等结构化信息。它基于X.500标准,但设计得更为简单且适合互联网环境。LDAP...
**LDAP(轻量级目录访问协议)是一种用于访问和管理分布式目录服务的协议,广泛应用于组织内部的身份验证、用户及资源管理。LdapAdmin是一款专为Windows操作系统设计的高效、稳定的LDAP管理工具,它允许管理员便捷地...
**LDAP浏览器LdapBrowser282详解** LDAP(Lightweight Directory Access Protocol)是一种用于访问目录服务的协议,常用于组织和管理用户、组、资源等信息。LdapBrowser282是一款专门针对LDAP目录服务的浏览和管理...
现在,你可以通过`UserRepository`的实例进行操作,如查询、添加、删除和更新用户。Spring Data LDAP会自动处理与LDAP服务器的交互。 在测试时,你可以创建一个`ldapTest`文件夹,其中包含模拟的测试数据或配置文件...
2. **创建LDAP连接对象**:在代码中,创建一个`TIdLDAP`实例,设置其属性,如`Host`为LDAP服务器的地址,`Port`为默认的389(或者如果是SSL加密的LDAPS,使用636端口),`BindDN`和`BindPassword`分别用于身份验证的...