0

我的 AD 中有一些角色,例如角色 1、角色 2,我想在应用程序中创建可用于验证控制器的角色。当然我可以使用类似的东西:

[Authorize(Roles = "role1")]

但是如果有人在 AD 中更改组的名称,那么我必须在我使用它的所有控制器中更改此角色。所以我试图在我将在控制器中使用的应用程序中定义我自己的角色:

MyRole = role1

我也可以在这里将多个角色放在 App 中。我正在尝试使用类似的东西:

string UserName = HttpContext.Current.User.Identity.Name;
string[] roles = Roles.GetRolesForUser(UserName);
if (roles.Contains("role"))
{
    Roles.CreateRole("MyRole");
    Roles.AddUserToRole(UserName, "MyRole");
}

但是方法CreateRoleAddUserToRole不适用于 Windows 身份验证。

知道怎么做吗?

4

1 回答 1

0

该解决方案是集中身份验证管理的好方法。它不允许你创建新角色,老实说,这可能不是一个好主意。如果您无法控制它们,正如您所暗示的那样......无论是谁都可能不会对您在整个地方创建角色不满意。

此外,您必须授予 Web 应用域管理员权限才能创建角色,这不是一个好的安全做法。

于 2012-04-20T14:22:56.890 回答