如何在ASP.NET MVC3中使用基于角色的自定义授权与Windows身份验证?

时间:2012-01-27 11:12:02

标签: asp.net-mvc-3 role-base-authorization

我正在使用 Windows身份验证创建ASP.NET MVC3 Intranet应用程序。我只希望域用户使用此应用程序。域用户通过身份验证后(使用 Active Directory ),我计划创建用户(使用AD用户名),角色& SQL Server中的UserRoles表用于授权

因此,如果用户是具有一组权限(访问控制器/操作)的角色的一部分,我应该只允许该角色的用户执行/查看它们。

例如:如果有动作/位置/创建,那么允许执行该操作的角色只能这样做。

有人可以给我一些指示吗?我应该创建自定义操作过滤器,并将filter属性用于我希望过滤器应用于的任何操作方法吗?

1 个答案:

答案 0 :(得分:0)

  

要限制对ASP.NET MVC视图的访问,请限制对该视图的访问   呈现视图的动作方法。为了实现这一点,MVC   framework提供了AuthorizeAttribute类。

示例:

[Authorize(Roles = "Admin, Super User")]
public ActionResult AdministratorsOnly()
{
 return View();
}

有关详细信息,请参阅here

请注意,使用[Authorize]属性要求您使用某种成员资格提供程序。