1

我的应用程序(使用 Windows 身份验证)中的每个页面都有不同的访问角色,以使用 SqlRoleProvider 限制用户访问。因此,要将用户添加到角色,我会去,

Roles.AddUserToRole(userName, roleName);

现在,我需要将公司的 AD 组集成到我的应用程序中,这样每个 AD 组也将被分配这些访问角色,并且某个 AD 组的用户将自动“继承”这些角色。

我的问题是:

我可以继续使用我的 SQL 表,如 aspnet_Users、aspnet_Roles 等吗?

如何整合 AD 组?以及如何将角色分配给 AD 组?(到目前为止,我可以使用Directory Entry检查用户所属的所有 AD 组)。

当用户使用 Windows 身份验证登录应用程序时,在我检查他们是否属于特定 AD 组之后,我如何根据 AD 组“授予”或“分配”他们角色?

非常感谢您对这些问题的帮助。

4

1 回答 1

0

AD ASP.NET 成员资格和角色系统直接与 AD 相关联,您的数据库表将被忽略。AD 组成为 ASP.NET 成员角色。

我的其余帖子涉及直接修改 AD 组的应用程序:

您可以,但难度很大,但在这种情况下,不建议这样做。

Active Directory 组成员资格由属于 Domain Admins 组的其他用户分配,或者被委派了将用户分配到其他组的权限。

为了从代码中执行此操作(使用 ADSI),您的程序将需要在属于 Domain Admins 组成员或被委派该用户权限的用户身份下运行(或使用其模拟令牌)。

...这意味着您的程序突然被信任,如果被黑客入侵或滥用,可能会破坏您的安全域。我不建议这样做。

MSDN 上提供了文档:http: //msdn.microsoft.com/en-us/library/windows/desktop/aa706022%28v=vs.85%29.aspx

于 2012-09-25T01:42:38.920 回答