zoukankan      html  css  js  c++  java
  • Asp.Net-Mvc全局检测登录

    创建一个新的类用于检测

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using ProcuracyRoom.Dll;
    
    namespace ProcuracyRoom.Web.WebCode
    { 
        public sealed class LoginFilterAttribute:ActionFilterAttribute
        {       
          
            static string[] FreeModules = {"test","public", "mobile" };//整个Controller可以不登录直接使用
            static string[] FreeUrl = { "/home/login", "/home/logout" };//Controller里面的Action可以使用
            public override void OnActionExecuting(ActionExecutingContext filterContext)
            {            
                string path = filterContext.RequestContext.HttpContext.Request.Url.LocalPath.ToLower();            
                string action = filterContext.ActionDescriptor.ActionName ;
                string controller = filterContext.Controller.GetType().Name.ToLower();         
                if (FreeModules.Any(t=>controller.StartsWith(t))) return;
                if(FreeUrl.Any(t=>path.Contains(t)))return;
                MyUser user = MyWebApp.currentUser;          
                if(user==null )
                {
                   filterContext.HttpContext.Response.Redirect(MyWebApp.LoginUrl);               
                }            
            }
        }
    }

    然后在Global.asax.cs文件中加入:(如果没有此文件 需自己创建)

     GlobalFilters.Filters.Add(new LoginFilterAttribute());

  • 相关阅读:
    7-4
    7-3
    第五章例5-2
    第五章例5-1
    第四章例4-12
    第四章例4-11
    第四章例4-10
    第四章例4-9
    第四章例4-8
    第四章例4-7
  • 原文地址:https://www.cnblogs.com/DotaSteam/p/5587840.html
Copyright © 2011-2022 走看看