zoukankan      html  css  js  c++  java
  • 怎样实现企业管理系统的操作日志功能

    怎样实现企业管理系统的操作日志功能

    实现思路解析:在做企业管理系统的同一时候,操作日志这一功能是不可缺少的;所谓的操作日志就是记录一个用户从登陆时開始。到退出登陆时结束,记录这一过程中用户的所有操作;这里用.Net MVC为例

    第一步:数据库

    表1:用户日志(Sys_UserLoginLog)

    列名

    数据类型

    主键/外键

    说明

    LoginID

    int

    主键

    日志ID

    StaffID

    int

    外键

    员工ID

    operationLog

    nchar(50)

     

    操作内容

    operationDate

    datetime

     

    操作时间

    表2:员工表(sys_YuanGong)

    列名

    数据类型

    主键/外键

    说明

    YuanGongID

    int

    主键

    员工ID

    LuRuYuanID

    int

    外键

    录入员ID

    YuanGongZhuangTaiID

    int

    外键

    员工状态ID

    MenDianID

    int

    外键

    门店ID

    ZhiWuID

    Int

    外键

    职务

    JueSeID

    int

    外键

    角色ID

    YuanGongBianHao

    nchar(50)

     

    员工编号

    YuanGongXingMing

    nchar(50)

     

    员工姓名

    XingBie

    nchar(50)

     

    性别

    JiGuan

    nchar(50)

     

    籍贯

    XueLi

    nchar(50)

     

    学历

    ChuShengRiQi

    date

     

    出生日期

    ShenFenZhengHao

    nchar(18)

     

    身份证号

    RuZhiRiQi

    data

     

    入职日期

    RuZhiDiDian

    nchar(50)

     

    入职地点

    YiDongShouJi

    int

     

    移动手机

    JiaTingDianHua

    nchar(50)

     

    家庭电话

    DiXin

    decimal(18, 2)

     

    底薪

    JiShiFou

    bit

     

    技术否

    HunFou

    bit

     

    婚否

    TongXunDiZhi

    nchar(50)

     

    通讯地址

    BeiZhu

    nchar(50)

     

    备注

    MiMa

    nchar(50)

     

    password

    图1

    第二步:Controllers(控制器)

    在控制器中写一个处理用户操作的方法,这样就能够在须要的地方直接调用这方法,避免了不要的反复代码,
    /// <summary>
            /// 设置登陆日志
            /// </summary>
            /// <param name="log">操作信息</param>
            /// <param name="returnstring">返回值内容</param>
            /// <param name="intUesrID">登陆用户ID</param>
            /// <returns></returns>
            public string UesrLog(string log,string returnstring,int intUesrID)
            {
                var logstring = "";
                Models.sys_UserLoginLog UserLog = new Models.sys_UserLoginLog();
                UserLog.StaffID = Convert.ToInt32(intUesrID);//登陆人
                UserLog.operationLog = log;//设置日志内容
                UserLog.operationDate = DateTime.Now;//设置当前时间
                myMdl.sys_UserLoginLog.AddObject(UserLog);
                int j = myMdl.SaveChanges();
                if (j > 0)//推断是否保存成功
                {
                    logstring = returnstring;
                }
                return logstring;
            }

    在须要的地方调用:比如:
     public void LoginOff()//注销登陆人
            {
                FormsAuthentication.SignOut();//删除身份验证票据
                UesrLog("退出登陆", "true", Convert.ToInt32(Session["YongHuID"]));//调用写好的操作日志的方法
                Response.Redirect("/Main/Login");
            }

    操作日志的处理全然是在后台运行,不要要在前台处理,须要记录的地方,就直接使用该写好的操作日志方法,这样就能够记录用户的操作步骤

    该资料仅供參考,禁止商业用途

  • 相关阅读:
    通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署
    记一次Java AES 加解密 对应C# AES加解密 的一波三折
    .Net Core MVC实现自己的AllowAnonymous
    Net Core 中间件实现修改Action的接收参数及返回值
    手把手教你实现自己的abp代码生成器
    C# 实现Jwtbearer Authentication
    vs2017调试浏览器闪退
    ABP 邮箱设置
    FastJson反序列化获取不到值
    内网环境下搭建maven私服小技巧
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5061338.html
Copyright © 2011-2022 走看看