1

嗯,我目前正在开发一个应用程序,它必须使用本地 Active Directory 来获得成员资格。会员资格一切正常,因为我周围没有域控制器,而且虚拟机实例对我的 PC 来说工作量太大,我使用 Active Directory Lightweigth 目录服务 (AD LDS) 创建目录实例并添加了一些用户。

该应用程序完美地验证了用户。

当我想实现角色时,问题就来了。在这种情况下,您如何实现角色?我听说过授权管理器 (AzMan),但是当我开始配置它时,我只能添加本地计算机用户,而不能添加 AD 实例用户。

我想知道如何在 AzMan 中引用 AD 用户,以便我可以使用 AzMan 角色提供程序,或者是否有另一种方式来实现授权而无需实现全新的角色提供程序。

谢谢。

4

2 回答 2

0

主要参考这篇文章:http: //blogs.msdn.com/b/azman/archive/2006/05/06/591230.aspx

基本限制是 AzMan MMC 管理单元使用 Windows 对象选择器(允许您从 AD 中选择用户或组的东西),并且不支持 ADAM(又名 AD-LDS)。

基本解决方案是您必须编写可以从 AD-LDS 选择对象(用户和角色)的代码,并确定这些对象的 SID。AzMan 使用 SID 进行所有访问控制,无论存储保存在何处(XML 文件、SQL 服务器或 AD/AD-LDS/ADAM)。因此,当您创建组并添加成员,或将 AD-LDS 角色直接分配给角色分配时,您必须在 AD-LDS 中使用角色的 SID(也称为“用户安全组类”)而不是它们的名称。

于 2011-02-21T06:27:36.563 回答
0

我最终使用了Codeplex的 ADRoleProvider 。我对其进行了一些更改,因为 AD LDS 用户对象没有 sAMAccountName 属性,而原始源使用了该属性。我只是指出它,所以它使用 principalUsername 属性。

于 2011-02-21T16:37:32.537 回答