下面列出目前已经实现的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所示。
目录服务技术介绍——ADSI(二)
时间: 2024-09-26 10:10:53
目录服务技术介绍——ADSI(二)的相关文章
目录服务技术介绍——ADSI(一)
目录服务技术介绍--ADSI潘爱民北京大学计算机科学技术研究所 (100871)[摘要]本文介绍了Microsoft提出的活动目录服务接口(ADSI)技术.文章首先讲述了ADSI的结构,然后介绍了ADSI的程序设计方法,最后通过例子简单说明了ADSI的用法.一.ADSI简介ADSI (Active Directory Services Interface)是Microsoft新推出的一项技术,它统一了许多底层服务的编程接口,程序员可以使用一致的对象技术来访问这些底层服务.ADSI把这些服务的公共
目录服务技术介绍——ADSI(六)
客户程序也可以利用IADsClass.IADsProperty和IADsSyntax接口在运行时刻确定目录对象的详细属性信息.操作步骤如下: a. 先绑定到目录对象的表结构对象,可以直接访问目录对象的"schema"属性. b. 用枚举的办法从表结构对象中找到强制属性或者可选属性,如果客户知道要访问的属性名则可以跳过这一步. c. 绑定到表结构对象的包容器对象. d. 从表结构对象的包容器对象获得属性的定义对象. e. 从属性定义对象获取属性信息,包括属
目录服务技术介绍——ADSI(四)
从类别到对象,它可以指定属性,那么目录对象的属性如何被指定呢?ADSI通过接口IADsProperty进行描述,IADsProperty接口的属性和方法如表6所示. 表6 IADsProperty接口的属性 属性名类型说明 OIDBSTR唯一的对象标识符 SyntaxBSTR语法路径 MaxRangelong对于多值属性,最大属性数 MinRangeLong对于多值属性,最小属性数 MultiValuedVARIANT_BOOL多值属性标志 最后一个重要接口为IADsSyntax,它只有一个属性
目录服务技术介绍——ADSI(七)
了解了客户程序的编程方法以及ADSI提供者的基本内容之后,现在我们来看看从客户程序到ADSI提供者组件的交互过程(如图4所示),以便加深读者对ADSI的理解.图4 客户程序与ADSI提供者的交互过程客户程序首先向ADSI发一个对象绑定请求(图中步骤1),ADSI组件根据客户给出的ADSI对象路径,提取出标识提供者ProgID的字符串,比如"WinNT"."LDAP"或者自定义的提供者ProgID,进一步在注册表中找到此ProgID所对应的CLSID(图中步骤2).然
目录服务技术介绍——ADSI(五)
由于目录对象的标识名可能在某些操作的影响下被改变,但目录对象的objectGUID属性永远不会改变,所以我们可以直接在LDAP路径中指定此GUID,客户程序直接绑定到此对象,下面的代码显示了这种用法:IADs *pADs;LPWSTR pszFilter = L"LDAP://MyServer/<GUID=63560110f7e1d111a6bfaaaf842b9cfa>";hr = ADsGetObject( pszFilter, IID_IADs, (void**)&a
目录服务技术介绍——ADSI(三)
表1 IADs接口的属性属性名 类型 说明 Name BSTR 对象名字 AdsPath BSTR 对象的全路径 Class BSTR 对象的类别(表结构对象的路径) GUID BSTR 对象的全局唯一标识(GUID) Parent BSTR 父包容器的路径 Schema BSTR 表结构对象的路径 表2 IADs接口的方法方法名 参数 说明 GetInfo 用属性值重新装入对象 SetInfo 提交属性值的变化 Get BSTR bstrName,VARIANT *pvProp 获取指定名字的
【干货合集】大流量与高并发:双11技术盘点(二)
峰会专题:https://yq.aliyun.com/activity/112 报名入口:http://yq.aliyun.com/webinar/join/49?spm=5176.8155509.437644.12.F2Xi5N 从2009年第一届双十一购物节到2015年双十一全天912.17亿元的交易额,"双十一"当天订单创建峰值增长了350倍(每秒14万笔),支付峰值 (每秒8.59万笔)增长了430倍.为了保证越来越多购物者的用户体验,在IT基础设施上,阿里一次又一次地遭遇并超
Delphi历史版本介绍(二)从Delphi8到DelphiXE3
Delphi历史版本介绍(二)从Delphi8到DelphiXE3 Delphi 8 Delphi8是一个短命的版本,有点像微软的vista的感觉,没有很好的超越7,后来用被2005取代,很多人都是直接从7到D2005的,Delphi8就这样被消损在历史的烟尘中. 作为Delphi8周年的产物,好像还没有长熟就被请出了娘胎,继续袭承了VCL.CLX. 架构上做了一些调整和加强,但是很多开发者感觉稳定性远远不及D7. Delphi 2005 这个版本还有一个面子叫做Di
(转) SLAM系统的研究点介绍 与 Kinect视觉SLAM技术介绍
首页 视界智尚 算法技术 每日技术 来打我呀 注册 SLAM系统的研究点介绍 本文主要谈谈SLAM中的各个研究点,为研究生们(应该是博客的多数读者吧)作一个提纲挈领的摘要.然后,我们再就各个小问题,讲讲经典的算法与分类. 1. 前言 在<SLAM for Dummy>中,有一句话说的好:"SLAM并不是一种算法,而是一个概念.(SLAM is more like a concept than a single algorithm.