0

有没有办法使用 AuthorizeAttribute 根据用户类型限制访问?我有一个管理员登录和一个实习生登录。

截至目前,这两个登录名都将显示我的管理页面上的所有选项卡。我想要的是限制实习生登录看到的标签数量。

我可以使用 AuthorizeAttribute 来做到这一点吗?请指教。

非常感谢

4

1 回答 1

1

放置在控制器或操作方法上,AuthorizeAttribute以防止它们为未经授权的个人执行。

在您的情况下,您想要做的是防止根据用户类型显示菜单。

为此,您将使用确定每个用户拥有哪些权限的角色。

然后在视图上,您​​将使用User.IsInRole("roleName")来确定他们是否在角色中并采取相应的行动。

例如,以下是仅向管理员显示“管理用户”菜单项的方式:

@if(User.IsInRole("Admin"))
{
   <li><a href="/admin/users">Manage Users</a>
}

此外,在Usersaction 方法中,您将使用 AuthorizeAttribute 对其进行装饰,以防止不属于“Admin”角色的用户访问该页面。

[Authorize(Roles("Admin"))]
public ActionResult Users()
{
   //...
}
于 2013-08-06T15:09:58.477 回答