是否可以在 Active Directory 中定义所有用户,以便他们之间也具有层次关系?
换句话说:是否可以定义从公司顶层的经理一直到不管理任何人的底层用户......
可能吗?怎么做?
附加信息
我正在构建一个应用程序,用户可以在其中管理其他用户的数据。因此,用户树的根是管理员,可以管理所有其他用户(因为他们都在子树中)。但其他用户只能管理他们自己的用户子树……这就是为什么我需要以某种方式定义管理员。如果我不在 AD 中执行此操作,我将不得不在我的应用程序中定义管理员,引用某些 AD 用户帐户并将该数据放在我的数据存储中,这似乎有点繁琐。但我可以选择我想要的任何树 DB 结构。可能是读取子树节点非常快的结构,因为这个操作将是迄今为止最常见的。如果我不能一次从 AD 中读取所有节点,它无论如何都会运行得更慢。但管理这个结构会很痛苦@@...
答案1
是的,这是可能的,但除非你的公司规模很小,否则维护起来很困难。主管/经理多久会被聘用/解雇/替换/晋升等?对于较大的公司,你可能每天会有几个人被聘用/解雇/替换/晋升,这意味着你将不断更新层次结构并更改数十或数百个关系。
您还会遇到有人被解雇或辞职,而替代者尚未被指派/雇用/或其他情况的情况,因此您的树可能会中断。
我过去的做法是,对于一所大型大学,我们将部门作为实体进行跟踪,具有层次结构,然后将人员与部门关联起来。(由于研究机构、学生团体等,有些人与多个部门有关联)每个部门都有该部门的负责人和二级编辑(通常是秘书),他们可以更改其成员资格。
我们的设计旨在作为帐户创建过程的一部分(新的教职员工帐户必须由部门担保;新部门必须由其上级部门担保,等等)。您可能会根据实际需要设计不同的东西。
答案2
查看“管理者”属性。使用它的一个限制是它不能满足多个经理关系。
另一件需要考虑的事情是你想用层次结构做什么?如果用于工作流路由,请小心,因为你可能会发现你选择的层次结构实际上并没有反映业务流程的工作流规则,尤其是在组织中层次越高的地方。