0

我目前正在使用 MVC4,并且该站点有一个安全区域。为了管理这个,我正在使用 Windows 身份验证。前段时间我已经在 Web 表单中实现了这一点,但这是我第一次在 MVC 方面使用它。

我正在使用 cookie 来存储身份验证。因此,当用户进行身份验证时,它会被持久化到 cookie。一个用户可能有许多不同的角色。这也应该持久化到 cookie 中吗?

身份验证后,如果用户已登录并且他们是某个角色的成员,我如何检查控制器、过滤器等?是否需要将此类信息加载到每个请求的用户上下文中?

4

1 回答 1

0

如果您使用的是成员资格提供程序,那么您应该能够使用控制器方法上的操作过滤器属性来做您想做的事情。

[Authorize]
public ActionResult SomeControllerAction()
{
    return View();
}

或测试特定角色:

[Authorize(Roles = "Administrator,Moderator")]
public ActionResult SomeControllerActionRequiringSpecificRoles()
{
    return View();
}
于 2012-12-13T04:13:31.317 回答