我正在使用ASP.NET MVC 3.请原谅我的术语。我们将角色分配给工作中的某些人,然后我们使用Windows身份验证来确定用户拥有的角色。可以说角色是RoleA,RoleB和RoleC。所以现在我得到一个用户角色列表。让我们说UserA属于RoleA和RoleB。我的一些观点需要进行身份验证,因为并非每个人都可以查看某些观点。假设ViewA只能由属于RoleA和RoleB角色的用户查看。我该怎么做?我需要研究什么?当不属于这些角色的用户尝试访问视图时,应将他/她重定向到错误页面。
另外,我需要某种辅助方法来检查这些角色,以便在我的视图中用来隐藏/显示某些控件。哪个地方最适合使用?
任何示例代码/文章都将受到赞赏。
答案 0 :(得分:2)
[Authorize(Roles = "RoleA,RoleB")]
public ActionResult Foo()
{
return View();
}
如果你想在视图中检查角色:
@if (User.IsInRole("RoleA"))
{
<div>This will be visible only to users in RoleA</div>
}