zoukankan      html  css  js  c++  java
  • 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"; } }
  • 相关阅读:
    【CCPC2020网络赛11】Convolution
    【CCPC2020网络赛02】Graph Theory Class
    全国中学生网安竞赛出题总结
    XDU2020ACM校赛总结
    CTF错误集合
    【洛谷2916】图的遍历
    20200420(ABC)题解 by 辛晓东
    20200402(ABC)题解 by 孙晨曦
    20200406(ABC)题解 by 徐光旭
    20200407(DE)题解 by 孙晨曦
  • 原文地址:https://www.cnblogs.com/guyg/p/4104085.html
Copyright © 2011-2022 走看看