protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AuditConfig.Configure(); }
public static IServiceCollection AddAutoAudit([NotNull] this IServiceCollection services, Action <IAuditConfigBuilder> configAction) { if (configAction is null) { throw new ArgumentNullException(nameof(configAction)); } AuditConfig.Configure(configAction); return(services); }
private void Init(IServiceProvider serviceProvider) { var userIdProvider = serviceProvider.GetService <IUserIdProvider>(); AuditConfig.Configure(builder => { builder.WithUserIdProvider(userIdProvider); builder.EnrichWithProperty("Application", ApplicationHelper.ApplicationName); builder.EnrichWithProperty("Host", Environment.MachineName); }); }
protected void Application_Start() { GlobalTrackingConfig.SetSoftDeletableCriteria <ISoftDeletable>(x => x.IsDeleted); EntityTracker.TrackAllProperties <ApplicationUser>(); Database.SetInitializer(new DropCreateDatabaseIfModelChanges <ApplicationDbContext>()); AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AuditConfig.Configure(); }
private void EFAuditConfig(IApplicationBuilder applicationBuilder) { var userIdProvider = applicationBuilder.ApplicationServices .GetRequiredService <IUserIdProvider>(); AuditConfig.Configure(builder => { builder .EnrichWithProperty(nameof(ApplicationHelper.ApplicationName), ApplicationHelper.ApplicationName) .EnrichWithProperty("Host", Environment.MachineName) .WithUserIdProvider(userIdProvider) .IgnoreEntity <OperationLog>() .WithHttpContextInfo(applicationBuilder.ApplicationServices.GetRequiredService <IHttpContextAccessor>()) ; }); }
private static void AutoAuditTest() { // 审计配置 AuditConfig.Configure(builder => { builder // 配置操作用户获取方式 .WithUserIdProvider(EnvironmentAuditUserIdProvider.Instance.Value) //.WithUnModifiedProperty() // 保存未修改的属性,默认只保存发生修改的属性 // 保存更多属性 .EnrichWithProperty("MachineName", Environment.MachineName) .EnrichWithProperty(nameof(ApplicationHelper.ApplicationName), ApplicationHelper.ApplicationName) // 保存到自定义的存储 .WithStore <AuditFileStore>() .WithStore <AuditFileStore>("logs0.log") // 忽略指定实体 .IgnoreEntity <AuditRecord>() // 忽略指定实体的某个属性 .IgnoreProperty <TestEntity>(t => t.CreatedAt) // 忽略所有属性名称为 CreatedAt 的属性 .IgnoreProperty("CreatedAt") ; }); DependencyResolver.TryInvokeService <TestDbContext>(dbContext => { dbContext.Database.EnsureDeleted(); dbContext.Database.EnsureCreated(); var testEntity = new TestEntity() { Extra = new { Name = "Tom" }.ToJson(), CreatedAt = DateTimeOffset.UtcNow, }; dbContext.TestEntities.Add(testEntity); dbContext.SaveChanges(); testEntity.CreatedAt = DateTimeOffset.Now; testEntity.Extra = new { Name = "Jerry" }.ToJson(); dbContext.SaveChanges(); dbContext.Remove(testEntity); dbContext.SaveChanges(); var testEntity1 = new TestEntity() { Extra = new { Name = "Tom1" }.ToJson(), CreatedAt = DateTimeOffset.UtcNow, }; dbContext.TestEntities.Add(testEntity1); var testEntity2 = new TestEntity() { Extra = new { Name = "Tom2" }.ToJson(), CreatedAt = DateTimeOffset.UtcNow, }; dbContext.TestEntities.Add(testEntity2); dbContext.SaveChanges(); }); DependencyResolver.TryInvokeService <TestDbContext>(dbContext => { dbContext.Remove(new TestEntity() { Id = 2 }); dbContext.SaveChanges(); }); // disable audit AuditConfig.DisableAudit(); // enable audit // AuditConfig.EnableAudit(); }