tnblog
首页

net core 过滤器

79人阅读 2019/5/22 16:31 评论:0 手机浏览 收藏
分类: .NET Core


注册过滤器的位置和net framework有点区别,但是也差不多。


下面说一下在过滤器中常用的几个小知识

获取控制器,action的特性

获取当前所有的过滤器

跳转页面

    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {

        var noNeedCheck = false;
        if (filterContext.ActionDescriptor is ControllerActionDescriptor controllerActionDescriptor)
        {
            //noNeedCheck = controllerActionDescriptor.MethodInfo.GetCustomAttributes(inherit: true)
            //  .Any(a => a.GetType().Equals(typeof(NoSignAttribute)));

            //获取请求controller的特性
            object[] noSignAttribute = controllerActionDescriptor.ControllerTypeInfo.GetCustomAttributes(typeof(NoSignAttribute), false);
            noNeedCheck = noSignAttribute.Any(a => a.GetType().Equals(typeof(NoSignAttribute)));

        }
        if (noNeedCheck) return;

        //获取当前所有的过滤器
        var filter = filterContext.Filters;

        //跳转页面
        filterContext.Result = new RedirectResult("/login/index");
    }


评价
自己阳光积极向上,就会吸引阳光积极向上的人和事
文章
6
评论
8
分类
16
关注
16
{{item.ArticleTitle}}
{{item.BlogName}} : {{item.Content}}