我的应用程序中的每个页面都有不同的访问角色(使用Windows身份验证),以限制用户使用SqlRoleProvider进行访问。因此,要将用户添加到角色,我会去,
Roles.AddUserToRole(userName, roleName);
现在,我需要将公司的AD组集成到我的应用程序中,这样每个AD组也将被分配这些访问角色,某个AD组的用户将自动“继承”这些角色。
我的问题是:
我可以继续使用我的SQL表,如aspnet_Users,aspnet_Roles等吗?
如何整合AD群组?我如何为AD组分配角色? (到目前为止,我可以检查用户使用目录条目的所有AD组)。
当用户使用Windows身份验证登录应用程序时,在检查它们是否属于特定AD组后,如何根据AD组“给予”或“分配”角色?
非常感谢您对这些问题的帮助。
答案 0 :(得分:0)
AD ASP.NET Membership和Roles系统直接绑定到AD,您的数据库表将被忽略。 AD组成为ASP.NET成员角色。
我的帖子的其余部分涉及直接修改AD组的应用程序:
你可以很难,但在这种情况下不建议这样做。
Active Directory组成员身份由另一个属于Domain Admins组成员的用户分配,或者被委派了将用户分配给其他组的权限。
为了从代码(使用ADSI)执行此操作,您的程序将需要在Domain Admins组成员的用户身份下运行(或使用模拟令牌),或者委派该用户权限。< / p>
...这意味着您的程序突然被信任,如果被黑客入侵或被滥用,可能会破坏您安全域中的垃圾。我不建议这样做。
MSDN上提供了文档:http://msdn.microsoft.com/en-us/library/windows/desktop/aa706022%28v=vs.85%29.aspx