zoukankan      html  css  js  c++  java
  • MVC全局验证登陆信息

    1.新建LoginRequestFilter类

     public class LoginRequestFilter : System.Web.Mvc.ActionFilterAttribute
        {
            public bool IsCheck { get; set; } = true;
    
            public override void OnActionExecuting(ActionExecutingContext filterContext)
            {
                if (IsCheck)
                {
                    if (HasLogin(filterContext))
                    {
                        base.OnActionExecuting(filterContext);
                    }
                    else
                    {
                        filterContext.HttpContext.Response.Redirect("/Login/Index");
                    }
                }
                else
                {
                    base.OnActionExecuting(filterContext);
                }
            }
    
            private bool HasLogin(ActionExecutingContext filterContext)
            {
                HttpContextBase httpContext = filterContext.HttpContext;
                if (httpContext.Session["UserName"] == null || httpContext.Session["Pwd"] == null)
                {
                    return false;
                }
                return true;
            }
        }

    2.FilterConfig设置全局验证

    public class FilterConfig
        {
            public static void RegisterGlobalFilters(GlobalFilterCollection filters)
            {
                filters.Add(new HandleErrorAttribute());
    
                //注册全局过滤器验证
                filters.Add(new LoginRequestFilter());
            }
        }

    3排除登陆方法,让其不验证

     [LoginRequestFilter(IsCheck =false)]
        public class LoginController : BaseController
        {
    
            public ActionResult Index()
            {
                return View();
            }
    
            /// <summary>
            /// 测试界面
            /// </summary>
            /// <returns></returns>
            public ActionResult Test()
            {
                return View();
            }
        }

     

  • 相关阅读:
    Python pip配置国内源
    【VLC】VLC命令行参数
    发个在owasp上演讲web应用防火墙的ppt
    Tips of Linux C programming
    linux程序调试
    scrapy结合webkit抓取js生成的页面
    Using Internet Explorer from .NET
    http长连接200万尝试及调优
    nginx url解码引发的waf漏洞
    poj 2513
  • 原文地址:https://www.cnblogs.com/xinyibufang/p/10576701.html
Copyright © 2011-2022 走看看