首页 > 其他分享 >Abp.VNext-数据审计

Abp.VNext-数据审计

时间:2024-11-19 17:56:42浏览次数:1  
标签:VNext 审计 实体类 IHasModificationTime 接口 Abp set ABP 属性

IHasConcurrencyStamp
  1. IHasConcurrencyStamp添加了由ABP框架管理的 ConcurrencyStamp 属性实现乐观并发。
  2. 实体类继承了 IHasConcurrencyStamp 以后,对该实体的更新就自动带乐观锁了。
ISoftDelete

实现逻辑删除功能,该接口中定义了IsDeleted变量,用于标记实体是否被逻辑删除。实体类继承该接口后,逻辑删除时Abp会察觉到这个行为并阻止其删除,查询时ABP框架默认会过滤掉IsDeleted=true的数据。

IHasCreationTime

该接口含有CreationTime的属性,当实体类继承该接口时便拥有了此属性,当该实体被插入到数据库时, ABP会自动设置该属性的值为当前时间。

public interface IHasCreationTime
{
    DateTime CreationTime { get; set; }
}
IHasModificationTime

该接口含有LastModificationTime的属性,当实体类继承该接口时便拥有了此属性,当该实体被更新时, ABP会自动设置该属性的值为当前时间。

public interface IHasModificationTime
{
    DateTime? LastModificationTime  { get; set; }
}
ICreationAudited

ICreationAudited 扩展自 IHasCreationTime 并且该接口含有CreatorUserId的属性 ,当实体类继承该接口时便拥有了此属性,当该实体被插入到数据库时,ABP会自动设置CreatorUserId的属性值为当前用户的 Id 。

public interface ICreationAudited : IHasCreationTime 
{     
    long? CreatorUserId { get; set; } 
}
IModificationAudited

IModificationAudited 扩展自 IHasModificationTime 并且该接口含有LastModifierUserId的属性 ,当实体类继承该接口时便拥有了此属性,当该实体被更新时,ABP会自动设置LastModifierUserId的属性值为当前用户的 Id。

public interface IModificationAudited : IHasModificationTime
{
    long? LastModifierUserId { get; set; }
}
IAudited

当实体类继承该接口时,便可实现所有审计属性。

标签:VNext,审计,实体类,IHasModificationTime,接口,Abp,set,ABP,属性
From: https://www.cnblogs.com/mingcore/p/18555344

相关文章

  • Abp.VNext-SaveChanges事务提交
    varblog=await_blogRepository.InsertAsync(ObjectMapper.Map<AddBlogInputDto,Blog>(inputDto));//查询不到数据,返回nullvarnewblog=await_blogRepository.FindAsync(blog.Id);//加上此行代码后,若插入异常,执行此行代码后回滚并且不会再往下走//不加此代码,若插......
  • Abp.VNext-拆分查询
    Abp默认采用的是拆分查询,优点是提高性能,缺点是使用Linq进行多表关联操作时打印查询字符串得到的SQL语句是单表查询语句。而实际上代码执行的是多表关联查询,容易误导开发人员。例如下列LINQ查询是多表关联,但是得到的查询字符串是单表操作。varquery=(await_blogRepository.G......
  • Abp.VNext-显示加载实体导航属性
    方式一:为实体配置默认导航并设置includeDetails属性为true[DependsOn(typeof(AbpEntityFrameworkCoreMySQLModule))]publicclassEntityFrameworkCoreModule:AbpModule{publicoverridevoidConfigureServices(ServiceConfigurationContextcontext){Co......
  • Abp.VNext-数据过滤
    如何实现软删除数据查询过滤实体类继承ISoftDelete接口后,查询获取到的返回结果将不包含已删除的数据。如何关闭软删除数据过滤全局方式关闭软删除数据过滤EntityFrameworkCoreModule模块类中使用。[DependsOn(typeof(AbpEntityFrameworkCoreMySQLModule))]publicclassEnti......
  • Abp.VNext-统一配置UTC时区时间
    PreConfigureServices方法重载并添加如下代码[DependsOn(typeof(AbpAutofacModule),typeof(AbpAspNetCoreMvcModule),)]publicclassApiHostModule:AbpModule{publicoverridevoidPreConfigureServices(ServiceConfigurationContextcontext)......
  • MySQL无开通SQL全审计下的故障分析方法
       几年前MySQL数据库出现突然的从库延迟故障和CPU爆高时,如何排查具体原因,可能说已在腾讯云的MySQL库里开启了SQL全审计,记录了全部执行的SQL,再通过下面的方法就可以很容易找到原因:     1,实用QPS和TPS高的高效分析方法   但如果没有开通SQL全审计,如何去找......
  • 数智化背景下审计行业的变革与应对之策
    随着信息技术的飞速发展,数智化已成为推动各行各业变革的重要力量。审计行业作为经济监督的重要组成部分,也面临着前所未有的机遇与挑战。本文将探讨数智化背景下审计行业的变革趋势,并提出相应的应对策略。审计行业的变革趋势审计技术的智能化随着大数据、人工智能、机器学......
  • PHP代码审计 - SQL注入
    SQL注入正则搜索(update|select|insert|delete).*?where.*=示例一:bluecms源码下载:source-trace/bluecms以项目打开网站根目录,并以ctrl+shift+f打开全局搜索(update|select|insert|delete).*?where.*=并开启正则匹配最快寻找脆弱点的方法:1、是否有可控的值2、......
  • Antd 4.x Tabs组件 将末尾TabPane固定在右侧
    将最后一个TabPane固定在右侧先看效果代码样式设置注意先看效果代码 <TabPanetitle="Tab1"> </TabPane> <TabPanetitle="Tab2"> </TabPane> <TabPanetitle="Tab3"</......
  • Java 项目注入、上传、搜索及插件挖掘的代码审计
    目录Java项目注入、上传、搜索及插件挖掘的代码审计一、什么是Java项目注入、上传、搜索及插件挖掘的代码审计二、原理(一)注入原理(二)文件上传原理(三)搜索功能安全原理(四)插件安全原理三、步骤与代码示例(一)准备工作(二)注入攻击审计步骤与代码示例(三)文件上传审计步骤与......