zoukankan      html  css  js  c++  java
  • .net core 登入全局验证过滤器

    最近公司再用.net core做项目。 碰到了登入验证权限这一块。使用过滤器不需要每个方法上都去判断登入是否失效。有的时候还会忘记对验证

    希望对大家有帮助


    mvc core的写法:

    public class PermissionRequiredAttribute : ActionFilterAttribute
        {  

    public override void OnActionExecuting(ActionExecutingContext filterContext)

            {
                var isDefined = false;
                var controllerActionDescriptor = filterContext.ActionDescriptor as ControllerActionDescriptor;
                if (controllerActionDescriptor != null)
                {
                     isDefined = controllerActionDescriptor.MethodInfo.GetCustomAttributes(inherit: true)
                        .Any(a => a.GetType().Equals(typeof(NoPermissionRequiredAttribute)));
                }
                if (isDefined) return;
                    if (MyHttpContext.Current.Session.GetString("LoginInfo") == null)
                    {  
                        filterContext.Result = new RedirectResult("/Account/Login");
                    }
                base.OnActionExecuting(filterContext);
            }

    }

    //不需要登入

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

        }

     //在不需要的方法上面打上标记

      [NoPermissionRequired]
            public ActionResult Login()

            {

          }

  • 相关阅读:
    设计模式之代理模式
    Java8内存模型—永久代(PermGen)和元空间(Metaspace)
    使用jconsole分析内存情况-JVM
    JVM(Java虚拟机)优化大全和案例实战
    JVM调优总结 -Xms -Xmx -Xmn -Xss
    聊聊jvm的PermGen与Metaspace
    Jconsole
    【Java VisualVM】使用 VisualVM 进行性能分析及调优
    JAVA基础(10)——IO、NIO
    JAVA基础(9)——容器(3)——并发容器
  • 原文地址:https://www.cnblogs.com/amylis_chen/p/12469067.html
Copyright © 2011-2022 走看看