03 2020 档案
摘要:1、前言 作为前后端分离的项目,或者说但凡涉及到对外服务的后端,一个自描述,跟代码实时同步的文档是极其重要的。说到这儿,想起了几年前在XX速运,每天写完代码,还要给APP团队更新文档的惨痛经历。给人家普及swagger,说不习惯,就要手写的Word文档。 闲话少扯。一份合格的文档,最起码要包括res
阅读全文
摘要:1、前言 APM,又称应用性能统计,主要用来跟踪请求调用链,每个环节调用耗时,为我们诊断系统性能、定位系统问题提供了极大便利。本系统采用的是Elastic Stack体系中的APM,主要是之前部门搞PCI认证,其中有一环ELK,而刚好ELK就是我搭建的,这里就顺便使用ELK体系的APM,没必要再另起
阅读全文
摘要:1、前言 上一篇,我们讲了审计日志,重点是重点业务表的审计字段。还有一种系统审计,就是重点业务对象的改动记录,是以审计日志表中的记录形式存在的。这种审计记录一般需要精确定位到某个终结点,最合适的实现方式就是操作过滤器。 2、实现 自定义操作过滤器: public class LogAttribute
阅读全文
摘要:1、前言 通常而言,系统审计是指记录谁,什么时间,干了什么事儿,具体到本项目中,着重两个方面:一是记录重点业务记录的创建人、创建时间、修改人、修改时间;二是记录重点操作的流水记录,如谁什么时间新增了个什么订单。本篇讲上半部分,既重点业务对象记录的创建人、创建时间,修改人、修改时间,或者准确讲是最后修
阅读全文
摘要:1、前言 上篇,我们讲了后端的授权。与后端不同,前端主要是通过功能入口如菜单、按钮的显隐来控制授权的。具体来讲,就是根据指定用户的制定权限来加载对应侧边栏菜单和页面内的功能按钮。我们一个个来讲。 2、侧边栏菜单 鉴于本项目使用了vue-router,那显然,侧边栏就会跟对应路由关联,同时,前端项目会
阅读全文
摘要:1、前言 但凡业务系统,授权是绕不开的一环。见过太多只在前端做菜单及按钮显隐控制,但后端裸奔的,觉着前端看不到,系统就安全,掩耳盗铃也好,自欺欺人也罢,这里不做评论。在.NET CORE中,也见过不少用操作过滤器来实现业务用例权限控制的,至少算是对后端做了权限控制。 但我们知道,操作过滤器,已经算是
阅读全文
摘要:1、前言 这块儿当时在IdentityServer4和JWT之间犹豫了一下,后来考虑到现状,出于3个原因,暂时放弃了IdentityServer4选择了JWT: (1)目前这个前端框架更适配JWT; (2)前后端分离的项目,如果上IdentityServer4,还要折腾点儿工作,比如前端配置、多余的
阅读全文
摘要:1、down源码 git clone https://github.com/KINGGUOKUN/SystemManagement.git,项目目录如下: 2、还原数据库 找到项目根目录下SystemManagement.sql,还原进MySQL,这里不做演示。 3、运行后端系统 打开解决方案,重新
阅读全文
摘要:1、背景 最近,打算新开个项目,鉴于团队技术栈,选型.net core + vue,前后端分离。本打算捡现成的轮子的,github上大致逛了逛,总发现这样那样的不太适合心中那些“完美实践”,例如:Abp vnext好是好,但重度封装,且前端是基于jQuery,后续业务开发估计要大批量操作DOM,写大
阅读全文