ADAM(AD LDS)和AzMan 的成员资格和角色
嗯,我目前正在开发一个必须使用本地 Active Directory 来获取成员资格的应用程序。成员身份一切正常,因为我周围没有域控制器,而且虚拟机实例对我的 PC 来说工作量太大,所以我使用 Active Directory 轻量级目录服务 (AD LDS) 创建目录实例并添加一些用户。
该应用程序完美地验证了用户的身份。
当我想要实现角色时,问题就来了。在这种情况下你如何扮演角色?我听说过授权管理器 (AzMan),但是当我开始配置它时,我只能添加本地计算机用户,而不能添加 AD 实例用户。
我想知道如何在 AzMan 中引用 AD 用户,以便我可以使用 AzMan 角色提供程序,或者是否有其他方法可以实现授权而无需实现全新的角色提供程序。
谢谢。
Well, I'm currently developing an application that must use the local Active Directory for membership. Everything is alright with membership, since I have no domain controllers around and a virtual machine instance is way too much work for my PC, I'm using Active Directory Lightweigth Directory Services (AD LDS) to create a directory instance and added some users.
The application validates users perfectly.
The problem comes when I wanna implement roles. How you implement roles in this case? I've heard of Authorization Manager (AzMan) but when I started configuring it I can only add my local computer users and not the AD instance ones.
I wanna know how to reference the AD users in AzMan so I can use the AzMan role provider, or if there's another way to implement authorization without having to implement a whole new role provider.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
主要参考这篇文章: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 Server 或 AD/AD-LDS/ADAM)。因此,当您创建组并添加成员,或将 AD-LDS 角色直接分配给角色分配时,您必须在 AD-LDS 中使用角色的 SID(也称为“用户安全组类”)而不是其名称。
Primarily referencing this article: http://blogs.msdn.com/b/azman/archive/2006/05/06/591230.aspx
The basic limitation is that the AzMan MMC snap-in uses the Windows Object Picker (the thing that lets you select users or groups from AD), and that does not support ADAM (aka AD-LDS).
The basic solution is that you will have to write code that can select objects (users and roles) from AD-LDS, and determine the SID for these. AzMan uses SIDs for all access control, regardless of where the store is kept (XML files, SQL server, or AD/AD-LDS/ADAM). So as you create Groups and add members, or assign AD-LDS roles directly to Role Assignments, you have to use the SIDs of the roles (aka "User Security Group class") in AD-LDS rather than their names.
我最终使用了 Codeplex 中的 ADRoleProvider。我对其进行了一些更改,因为 AD LDS 用户对象没有 sAMAccountName 属性,而原始源使用了该属性。我只是指出它,所以它使用principalUsername 属性来代替。
I ended up using ADRoleProvider from Codeplex. I made some changes to it because AD LDS user objects don't have the sAMAccountName property and the original source used that one. I just pointed it so it uses the principalUsername property instead.