Active Directory 是一种复杂的自适应目录服务,它允许通过大量的用户定义以满足特定的商业和组织需要。
摘要
本白皮书对 Microsoft Windows 2000 Active Directory 显示说明符做了一个介绍。显示说明符 (Display Specifier) 是指包含 Active Directory 用户界面 (UI) 信息的对象,这些对象可提供灵活的 UI 机制,满足分布式网络中不同用户组的需要。
引言
Active Directory 是一种复杂的自适应目录服务,它允许通过大量的用户定义以满足特定的商业和组织需要。例如,可通过更改对象包含的属性组,来修改现有对象类别。还可创建新属性,并可在一定范围内删除现有属性。
此外,还可创建新对象类别,创建时可让它继承现有一个或多个类别的特征,也可添加新属性。对 Active Directory 进行这些更改都比较简单。因而,用来访问这些对象的用户界面 (UI) 也应相对易于扩展和自定义。
管理员和最终用户对用户界面有不同的要求。许多属性和操作对最终用户毫无意义,但对管理员却非常重要。此外,Active Directory 拥有一个精确的安全模型,允许把一些权限向下定义到个别的属性级别,还允许把管理任务委派给不同的用户。因此,Active Directory 支持这样一种 UI:它满足管理员和最终用户的需求;可以扩展以支持对架构的修改;能反映精确的安全模型。
管理型 UI 表现为不同的 Microsoft 管理控制台 (MMC) 管理单元,即 Active Directory 管理器、Active Directory 站点和服务管理器、Active Directory 树管理器,以及 Active Directory 架构管理器。
而最终用户将通过 Windows 外壳查看目录。用户可通过桌面上的“网上邻居”,或“开始”菜单中的“查找”对话框,来浏览存储在 Active Directory 中的对象。
虽然管理员和用户的用户界面及其使用 Active Directory 的经验会有所不同,但是他们都要求用户界面能够显示目录对象。因而,一种灵活的 UI 机制不但要达到本地化、可延伸性、易于顾客修改等普通 UI 目标,还要满足不同用户组的需要。
存储在目录中的 UI 元素规范
用户界面信息保存在 Active Directory 中。UI 规范在每对象类别的级别精度上做了规定,目录中的 schema (架构)部分定义了对象类别。这些对象称为“架构类别对象”。每个架构类别对象都有一个唯一的与之相关的 UI 显示规范信息。
Windows 2000 Active Directory 能够基于每对象指定不同的 UI 元素。这些元素包括:属性页、上下文菜单、图标、创建向导、本地化类别以及属性名称。
显示规范系统存储了属性页、上下文菜单、图标、创建向导、本地化类别以及属性名称等元素的信息。显示规范系统可用这些信息为管理员和最终用户建立不同的用户界面(一组元素,如属性页、上下文菜单等可与管理应用程序相关联;而另一组元素则与最终用户应用程序相关联)。
这些 UI 信息保存在称为 Display-Specifier (显示说明符)的 Active Directory 对象中。每个 Display-Specifier 对象都包含了特定 UI 界面所含不同 UI 元素的描述信息。每个 Display-Specifier 对象都保存在与 Windows 2000 所支持的各语言环境对应的 Display-Specifier 容器中。
Display-Specifier 对象的每个属性页都是一个“组件对象模型” (COM) 对象。COM 对象的描述(统一唯一标识符,即 UUID)保存在 Display-Specifier 对象的属性中。这些属性页属性是多值的,而每个元素包含单个 COM 对象的描述。这些属性页属性称为 Admin-Property-Pages (管理属性页)和 Shell-Property-Pages (外壳属性页)。
在系统中注册,并可用标准的 COM 范例创建方法激活的类别 UUID 称为 COM 属性页。对象必须实现两个外壳界面:IShellExtInit 和 IShellPropSheetExt。
属性页 COM 对象的描述以字符串的形式保存在 Display-Specifier 属性中,格式如下:
,,[optional data]
这里:
order-number (序号)决定了页面位置。order-number 根据一种符号标记的相对关系进行排序,这样,就不必规定起始位置,且中间可以有一定的跳跃。
CLSID,即类别标识符,必须是 UUID 的字符串表示,加上尖括号。
optional data (可选数据)将通过 IShellExtInit::Initialize 数据对象传递给 COM 对象。目前,剪贴板数据格式命名为 CFSTR_DSPROPERTYPAGEINFO;但该名称在 Windows 2000 最终交付使用前会有所改变。
每个 COM 对象都可实现不止一个属性页。optional data 可以用于命名待显示页。这样,实施者就可灵活地决定创建页面时需要的 COM 对象个数。