定义一个类:TestAuthorizeAttributeMVC API 权限控制

 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的。

定义一个控制器:TestControlleMVC API 权限控制r

对整个控制器权限控制  

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

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

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

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-14
  • 2022-12-23
  • 2021-09-22
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-27
  • 2021-10-08
  • 2022-12-23
  • 2022-12-23
  • 2021-09-17
  • 2022-12-23
相关资源
相似解决方案