目录服务技术介绍——ADSI(二)

转载 2007年09月28日 09:25:00
 
下面列出目前已经实现的ADSI目录服务:

 

(1)  Windows NT域用户管理。

(2)  LDAP (Exchange Server)目录服务。

(3)  Internet Information Server

(4)  NDS(Novell NetWare Directory Services)

目前,在一个企业内部存在多个目录服务也会带来一些问题。对于管理员来说,它必须管理多个目录服务,这使得管理更为复杂;对于企业工作人员来说,为了访问不同目录服务中的信息,他必须登录到多个目录服务中;对于开发人员来说,为了使用目录服务,他必须选择使用哪个目录服务或者使用多个目录服务。虽然ADSI统一了目录服务的编程接口,但是为了在企业内部更好地使用目录服务功能,必须对目录服务的应用有所规划。由于Windows 2000全面采用了ADSI作为其应用编程接口,因此,建立在Windows 2000上的应用将可以更方便地访问系统提供的各种目录服务,应用程序与操作系统可以更好地结合起来。

二、ADSI结构

ADSI编程接口包括两个方面,实现ADSI目录服务的提供者(provider)和使用ADSI的客户。每一个当前被支持的目录服务必须有一个提供者,ADSI提供者实现了ADSI对象以及与名字空间相关的对象;ADSI客户与普通的COM客户程序类似,它调用ADSI接口访问目录服务所提供的各种功能,包括查找目录、读取目录对象的属性,如果允许的话,还可以修改对象的属性。

ADSI提供目录访问的基本结构如下图所示:

 

图1 ADSI目录服务层次结构图

ADSI提供了两种形式的编程接口,对于支持自动化的客户,它可以通过ADSI自动化接口调用目录服务提供者的属性和方法;对于性能要求比较高的客户,它可以通过vtable形式的COM接口访问目录服务提供者。ADSI这种双接口结构几乎总能满足客户程序的需要,关于双接口的原理以及用法请读者参阅有关自动化(Automation)方面的书籍,本文为简便起见,仅从自动化接口的角度讨论ADSI接口。

在ADSI所定义的接口规范中,对应于目录服务的目录对象,我们也称为活动目录对象(Active Directory Object)。另一个重要的对象为包容器(Container) 对象,包容器对象与目录对象的关系跟我们在文件系统中使用的目录与文件的关系类似,一个包容器对象可以包含许多其它的目录对象或者包容器对象,而目录对象代表了一定的实体。对于每个ADSI提供者,它从基本的名字空间的根节点开始,通过包容器对象和目录对象,形成了一棵树,如图2所示。

 

图2 ADSI包容器对象与目录对象的树状结构示意图

ADSI的每个包容器对象或者目录对象都有一个与之相联系的类别对象,类别对象说明了对象的一些特征信息,比如,对象的属性、对象属于包容器还是目录对象,等等。类别对象也描述一些属性,这些属性是所有属于此类别的对象所共有的属性,在这些属性中,有的属性是强制必须要有的,而有的属性则是可选的。属性最重要的特征是它的语法,语法定义本身也是一个目录对象。类别、属性和语法都是某个包容器对象下面的目录对象,被称为表结构(schema)。

在ADSI定义的接口中,最基本的接口为IADs接口,它是一个从IDispatch接口派生出来的双接口,并且所有的目录对象都必须实现IADs接口。IADs接口的属性和方法如表1和表2所示

相关文章推荐

Web服务搜索与执行引擎(二)——相关技术的介绍

在开发本项目时,我们使用的相关技术主要有以下几个方面。 1 Web服务的开发技术 1.1 Java平台上生成Web服务 利用XFire+Tomcat实现JAVA平台的POJO发布为Web Ser...

IBM大型机技术学习笔记(二) —— IBM 企业级Linux 服务

历史概况 发展中的两个时期: 1998 - 1999,基于“Bigfoot” 项目,由Linas Vepstas研发的独立版本。 1999年底至今, 发行的对应于IBM S/390 版本,Thi...

Java技术回顾之JNDI--命名和目录服务基本概念

命名服务的相关概念: Naming Service 命名服务 命名服务将名称和对象进行关联,提供通过名称找到对象的操作。 例如:DNS系统将计算机名和IP地址进行关联。文件系统将文件名和文件句...
  • gqltt
  • gqltt
  • 2012-05-15 15:15
  • 596

服务端技术进阶(五)分布式系统解决之道:目录、消息队列、事务系统及其他

服务端技术进阶(五)分布式系统解决之道:目录、消息队列、事务系统及其他目录服务(ZooKeeper)  分布式系统是一个由很多进程组成的整体,这个整体中每个成员部分,都会具备一些状态,比如自己的负责模...

[大规模Web服务开发技术] 中文目录

web服务
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)