栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

授权登录,登录日志记录

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

授权登录,登录日志记录

AOP面向切面编程: 错误日志 、全局日志记录、授权登录

全局日志记录:LogAttribute(执行前或者执行后记录操作记录)、LoggingHelper(创建日志文件并添加到数据库)、FilterConfig(全局设置,App_Start下添加类)、Log(数据库日志记录)、UserIDD(全局变量获取ID)

LogAttribute:

 public class LogAttribute : FilterAttribute, IActionFilter
    {
        public  void onActionExecuted(ActionExecutedContext filterContext)
        {
            string strControllerName = filterContext.RouteData.Values["controller"].ToString();
            string strActionName = filterContext.RouteData.Values["action"].ToString();
            string strName = filterContext.HttpContext.User.Identity.Name.ToString();
            string strID = SignIn.Models.UserIDD.IDs.ToString();
            Log entity = new Log()
            {
                OperationTime = DateTime.Now,
                ControllerName = strControllerName,
                ActionName = strActionName,
                OperationUserName= strName,
                OperationUserID = strID
            };
            // 记录操作记录
            LoggingHelper.WriteOperRecore(entity);
        }

        public  void onActionExecuting(ActionExecutingContext filterContext)
        {
            
        }
    }

LoggingHelper:

 public class LoggingHelper
    {
        public static void WriteOperRecore(Log log)
        {
            
            string strPath = @"C:log.txt";
            using (StreamWriter sw = new StreamWriter(strPath, true))
            {
                sw.WriteLine("**************************");
                sw.WriteLine($"操作时间:{log.OperationTime}");
                sw.WriteLine($"当前Controller名称:{log.ControllerName}");
                sw.WriteLine($"当前Action名称:{log.ActionName}");
                sw.WriteLine($"当前操作用户:{log.OperationUserName}");
                sw.WriteLine($"当前操作用户ID:{log.OperationUserID}");
                sw.Close();
            }

            string sql = string.Format(@"insert into Log (ControllerName,ActionName, OperationUserName, OperationTime, OperationUserID)
                         values('{0}','{1}','{2}','{3}','{4}')",log.ControllerName, log.ActionName, log.OperationUserName, log.OperationTime, log.OperationUserID);
            int num = DBHelper.ExecutNonQuery(sql);
            if (num<0)
            {
                Console.WriteLine("错误");
            }
        }
    }

FilterConfig:

public class FilterConfig
    {
        public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
        {
            filters.Add(new LogAttribute());//LogAttrbute是LogAttribute(执行前或者执行后记录操作记录)
        }
    }

并在Global.asax添加:

 public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);//这个FilterConfig于FilterConfig(全局设置,App_Start下添加类)一致
        }
    }

Log:

 public class Log
    {
        public string ControllerName { get; set; }

        
        public string ActionName { get; set; }

     
        public string OperationUserName { get; set; }

        public DateTime OperationTime { get; set; }
        public string OperationUserID { get; set; }
    }

UserIDD:

public  class UserIDD
    {
        public static int IDs;
    }

授权登录:

用户名密码通过后颁发通行证:FormsAuthentication.SetAuthcookie(userName, true);

退出撤销通行证: FormsAuthentication.SignOut();

重定向:return Redirect("/Login/Index");

在Web.config里节点中添加:

   
      //登录页面 时效
   

需要登录之后才能进入的页面/动作方法加: [Authorize]

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/274612.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号