Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net ADAM(AD LDS)和AzMan负责会员资格和角色_Asp.net_Membership Provider_Azman_User Roles - Fatal编程技术网

Asp.net ADAM(AD LDS)和AzMan负责会员资格和角色

Asp.net ADAM(AD LDS)和AzMan负责会员资格和角色,asp.net,membership-provider,azman,user-roles,Asp.net,Membership Provider,Azman,User Roles,嗯,我目前正在开发一个应用程序,它必须使用本地Active Directory作为成员。会员资格一切正常,因为我周围没有域控制器,虚拟机实例对我的电脑来说太多了,我正在使用Active Directory Lightweight Directory Services AD LDS创建目录实例并添加一些用户 该应用程序完美地验证了用户 当我想要实现角色时,问题就来了。在这种情况下,您如何实现角色?我听说过Authorization Manager AzMan,但当我开始配置它时,我只能添加本地计算

嗯,我目前正在开发一个应用程序,它必须使用本地Active Directory作为成员。会员资格一切正常,因为我周围没有域控制器,虚拟机实例对我的电脑来说太多了,我正在使用Active Directory Lightweight Directory Services AD LDS创建目录实例并添加一些用户

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

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

我想知道如何引用AzMan中的广告用户,以便我可以使用AzMan角色提供程序,或者是否有其他方法可以实现授权,而不必实现一个全新的角色提供程序


谢谢。

主要参考本文:

基本的限制是AzMan MMC管理单元使用Windows对象选择器,它允许您从AD中选择用户或组,但不支持ADAM aka AD-LDS


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

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