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);
            }
        }

  • 相关阅读:
    phpajax高级篇
    一天学会ajax (php环境)
    php生成静态文件的方法
    MongoDB查询文档
    MongoDB删除文档
    MongoDB索引管理
    MongoDB插入文档
    MongoDB排序记录
    MongoDB 更新文档
    mongoDB 固定集合(capped collection)
  • 原文地址:https://www.cnblogs.com/johnblogs/p/14837089.html
Copyright © 2011-2022 走看看