如果你在一个基于Windows服务器的网路里工作,那么你很有可能正在使用微软的活动目录(Active Directory)。活动目录的目的是减少网络里目录和命名空间的数量,并为复杂的网络提供了一个统一的视图。
在这个环境里开发应用程序的话,你将不可避免地要访问目录。本周,我们将探讨一些使用活动目录的方法,并告诉你可以如何操控数据。
活动目录基础知识
在正式探讨.NET集成之前,让我们先从活动目录的一些基本术语开始。
微软将X.500目录服务模型作为活动目录的蓝图。X.500标准在逻辑上将目录服务结构分割为servername.subdomainname.domainname.com(服务器名.子域名.域名.com)布局。在X.500里,目录信息被保存在一个叫做目录系统代理(Directory System Agent)的多层次布局里。微软根据X.500定义的基本原则来设计活动目录,但是它并不与X.500的实现相兼容。
活动目录里的每个对象都有一个识别名,用来识别对象所在的域以及到达对象的路径。活动目录里的一个典型识别名是:
CN=Tony Patton,OU=Contributors,DC=TechRepublic这个识别名由下面这几部分组成:
就如分解开的识别名所表示的,活动目录系统是一个多层树。这个树上的每个节点代表网络上的一个可用资源或者服务。在先前的例子里,最顶上的节点是TechRepublic;它含有Contributors OU,后者包括一个或者多个对象(包括Tony Patton对象)。到对象完整的路径在目录树里是唯一的。