212  
查询码:00000378
人防开发框架 — 审计信息配置方法
作者: 余承浩 于 2020年06月11日 发布在分类 / 人防组 / 人防后端 下,并于 2020年06月12日 编辑

前提

        ABP框架自带审计,但是审计字段属于long? 类型,与人防产品的权限校验系统不符合,无法直接完全使用该审计功能,所以只能基于现有权限校验进行重写

如何使用

引用人防框架类库

        应用层引用人防框架的Nugrt包 RunGo.Application.Shared v1.2.3.8

        领域层引用人防框架的Buget包 RunGo.Core.Shared v1.2.3.8

实体基类修改

        所有实体需要继承  IMayBeHaveTenant 接口,基类修改为 程序集RunGo.Core.Shared下的 命名空间 RunGo.Core 里面的FullAuditedEntity<TPrimaryKey> 泛型类,内置ABP原有的所有审计字段

有部分新增审计字段


        public virtual string CreatorUserId { get; set; }
        public virtual string CreatorAccountId { get; set; }
        public virtual string LastModifierUserId { get; set; }
        public virtual string LastModifierAccountId { get; set; }
        public virtual string DeleterUserId { get; set; }
        public virtual string DeleterAccountId { get; set; }
修改所有字段类型为string,用于适配现有权限体系


领域层动态API继承RunGoAppServiceFullBase基类

  1. 更新和详情Dto需要继承 程序集RunGo.Core.Shared下的 命名空间 RunGo.Core 里面的 EntityDto<TPrimaryKey>基类,内置主键Id属性
  2. 更新Dto中,特有属性(即不属于数据库字段的特有字段)需要标注[IgnoreMapAttribute]特性,用于更新时忽略该属性
  3. 基类构造需要注入 IHttpContextAccessor accessor
  4. 基类提供userMsg属性,可以在派生类中提取当前操作者信息
  5. 提供全部的审计功能

PS:更新后需要更新数据库,方法如下

     * 1.打开程序包管理器控制台,选择默认项目为RunGo.EntityFrameworkCore
     *2 .输入命令add-migration dbbase -c RunGoDbContext,并执行,生成数据库迁移脚本
     * 3.输入命令update-database dbbase -c RunGoDbContext,执行数据库迁移脚本

修改范围挺大,请谨慎更新!!!


 最新评论
当前评论数2  查看更多评论


 推荐知识

 历史版本

修改日期 修改人 备注
2020-06-12 12:30:01[当前版本] 余承浩 修改标题
2020-06-11 10:23:40 余承浩 格式调整
2020-06-11 10:03:42 余承浩 创建版本

  目录
    知识分享平台 -V 4.8.7 -wcp