Asp.net ADAM(AD LDS)和AzMan负责会员资格和角色
嗯,我目前正在开发一个应用程序,它必须使用本地Active Directory作为成员。会员资格一切正常,因为我周围没有域控制器,虚拟机实例对我的电脑来说太多了,我正在使用Active Directory Lightweight Directory Services AD LDS创建目录实例并添加一些用户 该应用程序完美地验证了用户 当我想要实现角色时,问题就来了。在这种情况下,您如何实现角色?我听说过Authorization Manager AzMan,但当我开始配置它时,我只能添加本地计算机用户,而不能添加AD实例用户 我想知道如何引用AzMan中的广告用户,以便我可以使用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,但当我开始配置它时,我只能添加本地计算
谢谢。主要参考本文: 基本的限制是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属性