ADAM(AD LDS)& AzMan的会员和角色

时间:2011-02-15 15:44:40

标签: asp.net membership-provider azman user-roles

好吧,我目前正在开发一个必须使用本地Active Directory来获取成员资格的应用程序。会员资格一切都很好,因为我没有域控制器,虚拟机实例对我的PC来说太多了,我使用Active Directory Lightweigth目录服务(AD LDS)来创建目录实例并添加了一些用户。

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

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

我想知道如何在AzMan中引用AD用户,以便我可以使用AzMan角色提供程序,或者如果有其他方法可以实现授权而无需实现全新的角色提供程序。

感谢。

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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