特定用户对特定页面的授权

时间:2014-05-17 17:52:23

标签: asp.net asp.net-mvc asp.net-mvc-3 razor

我希望在asp.net mvc中创建控制器类,其中某些视图将由特定用户访问,其他视图将由其他用户访问。

public class HomeController : Controller
{

    public ActionResult Page1()
    {
        return View();
    }
    public ActionResult Page2()
    {
        return View();
    }
}

上面的代码例如Page1()将被x用户访问,Page2()将被y用户访问。我想创建一个登录部分.cshtml代码,x用户只能看到Page1()标题,而不是Page2(),而y用户只能看到Page2(),而不能看到网站中的Page1()标题。怎么做?

1 个答案:

答案 0 :(得分:0)

使用[Authorize]操作属性

public class HomeController : Controller
{

[Authorize(Users="x")]
public ActionResult Page1()
{
    return View();
}
[Authorize(Users="y")]
public ActionResult Page2()
{
    return View();
}

}

请参阅以下MVC中的身份验证和授权链接。

http://nerddinnerbook.s3.amazonaws.com/Part9.htm

http://msdn.microsoft.com/en-us/library/system.web.mvc.authorizeattribute.aspx

您可以使用SQLRoleProvider进行授权或拥有自定义授权。

http://www.mattwrock.com/post/2009/10/14/implementing-custom-membership-provider-and-role-provider-for-authinticating-aspnet-mvc-applications.aspx

或使用自定义自定义授权属性

http://msdn.microsoft.com/en-us/library/ee707357%28v=vs.91%29.aspx