分享
 
 
 

JNDI目录服务及LDAO服务器使用入门教程

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

JNDI目录服务入门教程

本教程讲述下面内容:

1.

iPlanet Directory Server5.1目录服务器

iPlanet Directory Server5.1的下载

iPlanet Directory Server5.1的安装

iPlanet Directory5.1的启动,关闭

iPlanet Directory5.1的管理员指南

2.

安装编程环境所需的类库

JNDI类库下载

LDAP类库下载

3.

一些基本的目录服务操作

目录服务器建立连接(匿名访问方式)

目录服务器建立连接(简单验证方式Simple)

获取目录服务器指定条目的属性值

按条目属性值的搜索条件搜索目录服务器上的条目

删除,添加,修改目录服务器指定条目的属性值

删除,添加目录服务器上的条目,重命名目录服务器上的条目识别名(DN)

1 iPlanet Directory Server5.1目录服务器简述

iPlanet Directory Server 产品包括管理多个目录的 iPlanet Directory Server 和通过图形界面管理这两个服务器的 iPlanet Console。本章概述有关 iPlanetDirectory Server 的信息以及使用控制台建立目录管理服务所需的最基本的任务。

iPlanet Directory Server 的运行平台包括:widnows 和 Linux

iPlanet Directory Server 目前最高版本为V5.2

2 iPlanet Directory Server5.1的下载

下载网址:http://www.iplanet.com/

目前已更新为http://wwws.sun.com/software/

3 iPlanet Directory Server5.1的安装

以下为iPlanet Directory Server5.1的安装步骤

步骤1

启动iPlanet Directory Server5.1的安装界面

欢迎界面及软件许可界面

在出现的界面中,单击“下一步”按钮

1.gif

步骤2

许可协议界面

在出现的界面单击“是”

2.gif

步骤3

选择安装的组件,包装两个安装类型

iPlanet服务器软件

包括iPlanet目录服务器,iPlanet控制台及其它相关组件

iPlanet控制台

只安装iPlanet控制台,用于安装在客户端

出现选择安装类型时,选择Iplanet 服务器软件

3.gif

步骤4

选择安装类型

在出现的界面选择“典型”安装

4.gif

步骤5

选择安装位置

出现的界面选择安装位置

5.gif

步骤6

选择安装组件

出现的界面选择你所需要安装的组件,我们所有的都安装

6.gif

步骤7

配置目录服务器

建一个新的目录服务器

使用现有的目录服备器

7.gif

步骤8

目录数据库的存储选择

建一个新的目录数据库

使用现有的目录数据库

8.gif

步骤9

填写目录服务器的标识符,连接端口号,及后缀

9.gif

步骤10

目录服务器控制台的管理员ID及口令

10.gif

步骤11

设置目录服务器的管理域

11.gif

步骤12

设置连接目录服务器的目录管理员识别名(DN)

及口令

12.gif

步骤13

设置管理目录服务器服务的端口号

13.gif

步骤14

显示以上的用户选项信息

14.gif

步骤15

安装进程

15.gif

步骤16

注意,安装后,需重启计算机服务才有效.

16.gif

iPlanet Directory5.1管理控制台的启动,关闭

单击命令%iPlanet%\Servers\start-admin.cmd

启动管理进程

单击命令%iPlanet%\Servers\ startconsole.exe

启动管理控制台

A1.gif

4 iPlanet Directory5.1的管理员指南

关于这个指南,你可以到网上找或给我发邮件(moaihe1111@163.com),我可以发给你哦。

5 安装编程环境类库

基本编程环境类库

只需安装J2EE1.3版以上即可,下载网址http://java.sun.com

JNDI类库下载

下载类库jndi.jar

下载网址:http://java.sun.com/jndi/

LDAP类库下载

下载类库jaas.jar, ldap.jar, ldapbp.jar, ldapsec.jar, providerutil.jar

下载网址:http://java.sun.com/jndi/

6 一些基本的目录服务操作

1 目录服务器建立连接( 匿名访问方式)

程序段:

/*实例化一个Hashtable,用于存储连接属性*/

Hashtable env = new Hashtable(5, 0.75f);

/*设置连接Ldap的实现工厂*/

env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");

/*设置连接URL*/

env.put(Context.PROVIDER_URL,“ldap://localhost:389”);

/*实例化一个目录上下文*/

LdapContext ctx = new InitialLdapContext(env, null);

2 目录服务器建立连接(简单验证方式Simple)

程序段:

/*实例化一个Hashtable,用于存储连接属性*/

Hashtable env = new Hashtable(5, 0.75f);

/*设置连接Ldap的实现工厂*/

env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");

/*设置连接URL*/

env.put(Context.PROVIDER_URL,“ldap://localhost:389”);

/*设置验证方式为简单验证simple*/

env.put(Context.SECURITY_AUTHENTICATION, "simple");

/*进入的目录识别名DN

Env.MGR_DN为进入的目录识别名*/

env.put(Context.SECURITY_PRINCIPAL, Env.MGR_DN);

/*进入的目录密码password

Env.MGR_PW为进入的目录密码*/

env.put(Context.SECURITY_CREDENTIALS, Env.MGR_PW);

/*实例化一个目录上下文*/

LdapContext ctx = new InitialLdapContext(env, null);

3 获取目录服务器指定条目的属性值

/*定义需获取的属性名*/

String[] attrs = new String[5];

attrs[ 0 ] = "cn";

/* 获取属性”cn” */

attrs[ 1 ] = "sn";

/* 获取属性”sn” */

attrs[ 2 ] = "mail";

/* 获取属性”mail” */

attrs[ 3 ] = "telephonenumber"; /* 获取属性”telephonenumber” */

attrs[ 4 ] ="title";

/* 获取属性”title” */

/*获取指定条目*/

Attributes result = ctx.getAttributes(Env.ENTRYDN, attrs);

/*获取指定属性*/

Attribute attr = result.get("cn");

按条目属性值的搜索条件搜索目录服务器上的条目

/*实例化一个搜索器*/

SearchControls constraints = new SearchControls();

/*设置搜索器的搜索范围*/

constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);

/* 在基目录中搜索条件为Env.MY_FILTER的所有属性

Env.MY_SEARCHBASE为搜索的基目录

Env.MY_FILTER为搜索的过渡器

注意:这里返回是的所有的条目集合*/

NamingEnumeration results

= ctx.search(Env.MY_SEARCHBASE, Env.MY_FILTER, constraints);

/* 打印条目的识别名(DN)及其所有的属性名,值*/

while (results != null && results.hasMore())

{

/*取一个条目*/

SearchResult si = (SearchResult)results.next();

/* 打印条目识别名(DN) */

System.out.println("name: " + si.getName());

/*获取条目的所有属性集合*/

Attributes attrs = si.getAttributes();

if (attrs == null)

{

System.out.println("No attributes");

} else {

/* 打印所有属性值 */

for (NamingEnumeration ae = attrs.getAll();

ae.hasMoreElements();) {

/*获取一个属性*/

Attribute attr = (Attribute)ae.next();

String attrId = attr.getID();

/* 打印这个属性的所有属性值 */

for (Enumeration vals = attr.getAll();

vals.hasMoreElements();

System.out.println(attrId + ": " + vals.nextElement()))

;

}

}

4 删除,添加,修改目录服务器指定条目的属性值

/* 实例化一个用于修改属性的数组*/

ModificationItem[] mods = new ModificationItem[3];

/*实例化一个BasicAttribute基本属性对象

其第一个参数为属性名,

第二个参数为属性值*/

Attribute mod0 = new BasicAttribute("mail", "babs@eng");

// 定义一个修改的属性条

mods[0] = new ModificationItem(DirContext.REPLACE_ATTRIBUTE, mod0);

/*实例化一个BasicAttribute基本属性对象

其第一个参数为属性名,

第二个参数为属性值*/

Attribute mod1 =

new BasicAttribute("description",

"This entry was modified with the Modattrs program on " +

(new Date()).toString());

// 定义一个增加的属性条

mods[1] = new ModificationItem(DirContext.ADD_ATTRIBUTE, mod1);

/*实例化一个BasicAttribute基本属性对象

其第一个参数为属性名/

Attribute mod2 =

new BasicAttribute("description");

// 定义一个删除的属性条

mods[2] = new ModificationItem(DirContext.REM

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有