首页 > 代码库 > MVC API 权限控制

MVC API 权限控制

定义一个类:TestAuthorizeAttribute

 public class TestAuthorizeAttribute : AuthorizeAttribute    {        public string roleName = "";        //权限进入        public override void OnAuthorization(System.Web.Http.Controllers.HttpActionContext actionContext)        {            base.OnAuthorization(actionContext);        }        //判断权限        protected override bool IsAuthorized(System.Web.Http.Controllers.HttpActionContext actionContext)        {            if (roleName == "管理员")                return true;            return false;        }        //权限为false执行内容        protected override void HandleUnauthorizedRequest(System.Web.Http.Controllers.HttpActionContext actionContext)        {            base.HandleUnauthorizedRequest(actionContext);        }    }

这里的AuthorizeAttribute引用的命名空间是System.Web.Http;而非是System.Web.Mvc的。

定义一个控制器:TestController

对整个控制器权限控制  

    //判断权限为超级管理员的情况下进入此控制器
[TestAuthorize(roleName="超级管理员")]
public class TestController : ApiController
    {        public string GetIndex()         {            return "123";        }    }

对控制器中的某个Action权限控制

    public class TestController : ApiController    {
    //判断权限为超级管理员的情况下进入此Action [TestAuthorize(roleName
= "超级管理员")] public string GetIndex() { return "123"; } }

 

MVC API 权限控制