2

我正在创建一个带有Windows 身份验证的 ASP.NET MVC3 Intranet 应用程序。我只希望域用户使用这个应用程序。一旦域用户通过身份验证(使用Active Directory),我计划在 SQL Server 中创建用户(使用 AD 用户名)、角色和 UserRoles 表以进行授权

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

例如:如果有一个动作/Locations/Create,则被允许执行该动作的角色只能执行该动作。

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

4

1 回答 1

0

若要限制对 ASP.NET MVC 视图的访问,请限制对呈现视图的操作方法的访问。为此,MVC 框架提供了 AuthorizeAttribute 类。

例子:

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

有关更多详细信息,请参见此处

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

于 2012-01-27T21:03:41.943 回答