zoukankan      html  css  js  c++  java
  • .net core过滤器中判断controller或者Action是否包含某个属性

     public override void OnActionExecuting(ActionExecutingContext context)
            {
                bool isNoPermissionRequired = false;
                //获取请求进来的控制器与方法
                var controllerActionDescriptor = context.ActionDescriptor as ControllerActionDescriptor;
                if (controllerActionDescriptor != null)
                {
                    //判断请求的控制器有没有NoPermissionRequiredAttribute(不需要权限判断)
                    isNoPermissionRequired = controllerActionDescriptor.ControllerTypeInfo.IsDefined(typeof(NoPermissionRequiredAttribute), true);
                    if (!isNoPermissionRequired)
                    {
                        //判断请求的方法有没有NoPermissionRequiredAttribute
                        isNoPermissionRequired = controllerActionDescriptor.MethodInfo.IsDefined(typeof(NoPermissionRequiredAttribute), true);
                    }
                }
                //需要权限
                if (isNoPermissionRequired)
                {
                    return;
                }

       //auth success,do other things
               base.OnActionExecuting(context);
            }

     public class NoPermissionRequiredAttribute : ActionFilterAttribute
        {
            public override void OnActionExecuting(ActionExecutingContext context)
            {
                base.OnActionExecuting(context);
            }
        }

  • 相关阅读:
    人生小悟1
    对偶传播神经网络(CPN)
    对偶传播神经网络(CPN)
    学习向量量化神经网络
    学习向量量化神经网络
    自组织特征映射神经网络(SOFM)
    自组织特征映射神经网络(SOFM)
    竞争学习的基本概念和原理
    竞争学习的基本概念和原理
    人工神经网络基础概念、原理知识(补)
  • 原文地址:https://www.cnblogs.com/johnblogs/p/14837089.html
Copyright © 2011-2022 走看看