- 浏览: 760533 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
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 16291.复制数据库文件: 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 2552原来作的一个项目因为页面跳转比较多,应用了S ... -
Spring Web Flow 2.0 入门 例子源码
2008-12-22 11:34 11754developerWorks 中有一篇教材讲解了 Spr ... -
JAD反编译工具
2008-05-29 11:33 5049This is README file for Jad - t ... -
压力测试与系统调优
2008-05-04 16:19 2304最近用loadrunne ... -
通过压力测试排查Bug(二)--排查Bug
2008-05-04 11:44 1814最近的一个项目 ... -
通过压力测试排查Bug(一)--测试过程
2008-05-04 11:05 1609最近的一个项目应用了Acegi作为安全框架,项目试运 ... -
WebService开发笔记 3 -- 增强访问 WebService 的安全性
2008-03-19 09:50 21808在WebService开发笔记 1中我们创建了一个WebSer ... -
WebService开发笔记 2 -- VS 2005 访问WebServcie更简单
2008-03-12 19:32 11147WebService开发笔记 2 -- VS 2005 访问W ... -
WebService开发笔记 1 -- 利用cxf开发WebService竟然如此简单
2008-03-12 18:37 27504WebService开发笔记 1 -- 利用cxf开发WebS ... -
Tomcat 配置 -- 打开中文文件名的附件
2008-03-04 10:23 1902设计了文件上传的工具,但在Tomcat服务器上访问中文文件名的 ... -
常用的System.getProperty()
2008-03-02 11:53 29常用的System.getProperty()System.g ... -
CAS 单点登录安装笔记4 -- asp.net client端的设置
2008-03-02 11:51 16455CAS 单点登录安装笔记4 --- asp.net clien ... -
CAS 单点登录安装笔记3 -- 与acegi集成
2008-02-28 23:38 8252CAS 单点登录安装笔记3 -- 与acegi集成 在我的项 ... -
CAS 单点登录安装笔记2 -- 配置CAS,访问自己的用户表
2008-02-27 17:45 6998CAS 单点登录安装笔记2 1.修改cas/webapp/ ... -
CAS 单点登录安装笔记1 -- 基本设置与数字证书的安装
2008-02-26 16:35 5704安装JA-SIG SSO系统笔记1 (关于配置访问数据库的用 ... -
JAVA文档
2007-12-19 16:05 1168JAVA相关文档 http://www.lybbs.net/n ... -
Tomcat性能调优(2)
2007-12-19 15:37 2895原文出处:http://www.lybbs.n ... -
Spring 通过 Tomcat 6.0 下的数据源连接池 访问Oracle数据库
2007-12-17 18:26 5948头疼的老问题,折腾了一天,tomcat6.0数据源配置 to ...
相关推荐
java 操作ldap的简单实例,希望可以能够给你启发
ldap的一个实例,自己做过一个小项目,以后也许用得着
该例子是调用ldap服务源码,是用纯Java写的,界面是swing和awt
java连接LDAP实例和jar包,里面包含ssl连接和更改LDAP属性的例子,公参考
本章涵盖了LDAP 相关的所有内容,更配合一定的实例,将重点高亮显示,帮助大家记忆和理解。
Sun Ldap目录服务新建实例,操作手册
这是一个可以登录ldap服务器并取出想要的结果 的一个简单例子。..
关于LDAP的资料,经常用的,包含新建,查询,删除,修改
Laravel开发-my-eloquent-ldap 一个laravel包,它首先尝试根据内部数据库记录用户,如果失败,它将针对配置的LDAP/AD服务器进行尝试。
ibm ldap 多个实例时,如何运行idsxcfg
LDAP入門,LDAP入門LDAP入門LDAP入門LDAP入門LDAP入門LDAP入門LDAP入門LDAP入門LDAP入門LDAP入門LDAP入門
LDAP服务器资料,很值得去好好学习,很经典的一个资料
acegi+ldap实例,spring + acegi + ldap 权限框架
LdapBrowser2.82版,能浏览服务器的ldap数据,还有一份word详细使用文档及ldap安装说明
不错的JAVA操作LDAP实例,有源码.LDAP 验证、新增、修改、查询用户
资源没有对LDAP创建的内容。 资源主要有: rar包:一个Web工程, 主要有,利用Spring-ldap对LDAP的基本操作(查询,增删改);Extjs实现的对Ldap的树状结构的显示,结构有点类似Softerra LDAP;一个测试类。 pdf:...
LdapBrowser282 ldap浏览器 LdapBrowser 查看openldap的好工具。 使用需要有JDK环境。
1 LDAP 基础 LDAP 的英文全称是 Lightweight Directory Access Protocol, 一般都简称为 LDAP。 它是基于 X.500 标准的,但是简单多了并且可以根据需要定制。与 X.500 不同,LDAP 支 持 TCP/IP,这对访问 Internet ...
LDAP是轻量级目录访问协议的简称(Lightweight Directory Access Protocol).用于访问目录服务。它是X.500目录访问协议的移植,但是简化了实现方法。本文给大家带来LDAP使用手册,需要的可以来下载看看 LDAP的优点 1:...
LDAP开发SampleCode 项目中用的实例