Core + Vue 后台管理基础框架6——业务日志

1、前言

  上一篇,我们讲了审计日志,重点是重点业务表的审计字段。还有一种系统审计,就是重点业务对象的改动记录,是以审计日志表中的记录形式存在的。这种审计记录一般需要精确定位到某个终结点,最合适的实现方式就是操作过滤器。

2、实现

  自定义操作过滤器:

public class LogAttribute : ActionFilterAttribute
    {
        public string LogName { get; private set; }

        public LogAttribute(string logName)
        {
            this.LogName = logName;
        }

        public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
        {
            await base.OnActionExecutionAsync(context, next);

            var user = context.HttpContext.RequestServices.GetService<CurrentUser>();
            var log = new SysOperationLogDto
            {
                ClassName = context.Controller.ToString(),
                CreateTime = DateTime.Now,
                LogName = this.LogName,
                LogType = "业务日志",
                Method = ((Controllers.ControllerActionDescriptor)context.ActionDescriptor).ActionName,
                Message = JsonSerializer.Serialize(context.ActionArguments),
                Succeed = "成功",
                UserId = user.ID
            };

            var logService = context.HttpContext.RequestServices.GetService<ILogService>();
            await logService.AppendOperationLog(log);
        }
    }

  基本思路很简单,调用控制器终结点方法时,记录操作日志,操作日志中主要包含控制器名称,方法名称,调用入参等信息。

原文地址:https://www.cnblogs.com/guokun/p/12536488.html

时间: 2024-11-09 03:02:39

Core + Vue 后台管理基础框架6——业务日志的相关文章

最为纯粹简单的后台管理页面框架

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title

FF.PyAdmin 接口服务/后台管理微框架 (Flask+LayUI)

源码(有兴趣的朋友请Star一下) github: https://github.com/fufuok/FF.PyAdmin gitee: https://gitee.com/fufuok/FF.PyAdmin 初衷 运维开发中, 各类接口服务和后台管理系统必不可少, 索性写个通用的/简单易用的/支持快速开发的微框架. 一是开发时尽可能只关注业务逻辑, 快速实现, 不用再过多考虑架构/前端/布局什么的. 二是将常用业务逻辑二次封装, 使用时, 用简洁的语句即可完成复杂的事务, 并自动处理异常.

数据后台管理(五)AOP日志

为了增加数据的安全性,在数据管理的过程中,我们需要将操作者访问时间,操作者的名称,访问的IP,访问资源的URL,执行时长,访问方法记录下来存储到数据库中,并可以通过页面查看. 1.将日志信息存储到数据库中 1.1根据需要记录的日志内容在数据库中创建表syslog和对应的实体类SysLog 日志表syslog SysLog类 1 package club.nipengfei.ssm.domain; 2 3 import java.util.Date; 4 5 public class SysLog

【转载】从头编写 asp.net core 2.0 web api 基础框架 (1)

工具: 1.Visual Studio 2017 V15.3.5+ 2.Postman (Chrome的App) 3.Chrome (最好是) 关于.net core或者.net core 2.0的相关知识就不介绍了, 这里主要是从头编写一个asp.net core 2.0 web api的基础框架. 我一直在关注asp.net core 和 angular 2/4, 并在用这对开发了一些比较小的项目. 现在我感觉是时候使用这两个技术去为企业开发大一点的项目了, 由于企业有时候需要SSO(单点登

从头编写 asp.net core 2.0 web api 基础框架 (1)

原文:从头编写 asp.net core 2.0 web api 基础框架 (1) 工具: 1.Visual Studio 2017 V15.3.5+ 2.Postman (Chrome的App) 3.Chrome (最好是) 关于.net core或者.net core 2.0的相关知识就不介绍了, 这里主要是从头编写一个asp.net core 2.0 web api的基础框架. 我一直在关注asp.net core 和 angular 2/4, 并在用这对开发了一些比较小的项目. 现在我感

准备.Net转前端开发-WPF界面框架那些事,搭建基础框架

题外话 最近都没怎么写博客,主要是最近在看WPF方面的书<wpf-4-unleashed.pdf>,挑了比较重要的几个章节学习了下WPF基础技术.另外,也把这本书推荐给目前正在从事WPF开发的程序猿. 现在书看完了也该实践实践,写了个WPF项目,主要以界面框架为主.  最近的几篇博客也主要围绕这个WPF项目,介绍下WPF搭建界面框架以及怎样写自定义的Windows界面和控件. 这也许是写最后几篇关于.Net技术的博客.做.Net开发也快五年了,感觉自己搞得不温不火,另外工作中正好有一个机会转做

BBS(仿博客园系统)项目05(后台管理功能实现:文章添加、富文本编辑器使用、xss攻击、BeautifulSoup4模块、富文本编辑器上传图片、修改头像)

摘要 布局框架搭建 随笔添加 后台管理富文本编辑器KindEditor xss攻击 文章简介的截取,BeautifulSoup4模块 富文本编辑器上传图片 头像修改 一.后台管理框架布局搭建 后台管理布局框架分析:导航条.左侧功能区.右侧主要功能显示和实现区 实现: 导航条:使用bootstrap模板:JavaScript>>导航条 左侧:使用bootstrap模板:组件>>列表组 右侧:使用bootstrap模板:JavaScript>>标签页 新建后台管理路由(注意

开源干货!!!.NET Core + Vue.js(iview-admin) 通用动态权限(RBAC)管理系统框架[DncZeus]开源啦!!!

DncZeus 前言 关于 DncZeus DncZeus = Dnc + Zeus "Dnc"--.Net Core 的缩写: "Zeus"--中文译为宙斯,是古希腊神话中的众神之王,奥林匹斯十二主神之首,统治宇宙万物的至高无上的主神(在古希腊神话中主神专指宙斯),人们常用"众神和人类的父亲"."神王"来称呼他,是希腊神话诸神中最伟大的神. DncZeus的愿景就是做一个.NET Core 领域的简易精致的通用后台权限管理模

vue,vuex的后台管理项目架子structure-admin,后端服务nodejs,前端vue页面

之前写过一篇vue初始化项目,构建vuex的后台管理项目架子,这个structure-admin-web所拥有的功能 1.vuex来实现状态管理 2.静态页面,未引入后端服务 3.组件是用的是element-ui 4.页面布局是上左右,左右布局使用的弹性和布局flex,左边定宽,右边计算宽度 5.左右的滚动条是相互独立的,去掉body上的滚动条 6.没有业务代码,仅仅是一个静态的vuex的架子 说明:之前使用左侧menu的fixed布局,发现element-ui的弹窗组件不能正常显示,考虑换成f