确保记录的用户只能访问他的数据

时间:2013-02-15 08:22:03

标签: c# asp.net-mvc

already asked类似的问题,但我想知道是否可以简化解决方案。 您可能已经注意到我想确保已记录的用户只能访问他的数据。我在mvc3中使用自定义成员资格提供程序。

[Authorize(Users=httpContext.User.Identity.Name)]
public ActionResult UserArea()
{}

由于

1 个答案:

答案 0 :(得分:0)

创建一个新属性并覆盖AuthorizeCore方法:

public class CustomAuthorizeAttribute : AuthorizeAttribute
{
   protected override bool AuthorizeCore(HttpContext.User user)
   {
     // Generally authenticated to the site
     if (!httpContext.User.Identity.IsAuthenticated) {
        return false;
     }

    return true;
   }
}

然后在您的Controller上执行:

[CustomAuthorize(httpContext.User]
public ActionResult MyControllerAction()
{
    return View();
}

http://code.commongroove.com/2012/04/20/asp-net-mvc-simple-custom-authorization-by-inheriting-from-the-authorizeattribute/