“授权”就像ASP.Net MVC 3中的自定义属性一样

时间:2013-07-02 10:58:21

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

我需要[Authorize]像ASP.Net mvc 3/4中的自定义属性。像下面的东西。

[AdminOnly]
public ActionResult OpenAddListUser()
{
    //Do some actions
}

这里[AdminOnly]将检查一些用户信用。我需要的只是如果AdminOnly无效,则返回一些ActionResult视图或重定向到其他视图,如登录。

1 个答案:

答案 0 :(得分:3)

  public class AdminOnly : AuthorizeAttribute
    {

        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            bool baseAuthorized = base.AuthorizeCore(httpContext);
            if (!baseAuthorized) {
                     return false;
            }
            //here should be your admin checking logic
            bool isAdmin = YourLogic.IsAdmin(httpContext.User.Identity.Name);
            return isAdmin;
        }

    }
}