private async Task <bool> ShouldWriteAuditLogAsync( IAbpMethodInvocation invocation, AuditLogInfo auditLogInfo, AbpAuditingOptions options, ICurrentUser currentUser, bool hasError) { foreach (var selector in options.AlwaysLogSelectors) { if (await selector(auditLogInfo)) { return(true); } } if (options.AlwaysLogOnException && hasError) { return(true); } if (!options.IsEnabledForAnonymousUsers && !currentUser.IsAuthenticated) { return(false); } if (!options.IsEnabledForGetRequests && invocation.Method.Name.StartsWith("Get", StringComparison.OrdinalIgnoreCase)) { return(false); } return(true); }
private async Task ProcessWithNewAuditingScopeAsync( IAbpMethodInvocation invocation, AbpAuditingOptions options, ICurrentUser currentUser, IAuditingManager auditingManager, IAuditingHelper auditingHelper) { var hasError = false; using (var saveHandle = auditingManager.BeginScope()) { try { await ProceedByLoggingAsync(invocation, auditingHelper, auditingManager.Current); Debug.Assert(auditingManager.Current != null); if (auditingManager.Current.Log.Exceptions.Any()) { hasError = true; } } catch (Exception) { hasError = true; throw; } finally { if (ShouldWriteAuditLog(invocation, options, currentUser, hasError)) { await saveHandle.SaveAsync(); } } } }
public AuditingStore( IAuditLogRepository auditLogRepository, IGuidGenerator guidGenerator, IUnitOfWorkManager unitOfWorkManager, IOptions <AbpAuditingOptions> options) { AuditLogRepository = auditLogRepository; GuidGenerator = guidGenerator; UnitOfWorkManager = unitOfWorkManager; Options = options.Value; Logger = NullLogger <AuditingStore> .Instance; }
public EntityHistoryHelper( IAuditingStore auditingStore, IOptions <AbpAuditingOptions> options, IClock clock, IJsonSerializer jsonSerializer) { _clock = clock; AuditingStore = auditingStore; JsonSerializer = jsonSerializer; Options = options.Value; Logger = NullLogger <EntityHistoryHelper> .Instance; }
protected virtual bool ShouldIntercept(IAbpMethodInvocation invocation, AbpAuditingOptions options, IAuditingHelper auditingHelper) { if (!options.IsEnabled) { return(false); } if (AbpCrossCuttingConcerns.IsApplied(invocation.TargetObject, AbpCrossCuttingConcerns.Auditing)) { return(false); } if (!auditingHelper.ShouldSaveAudit(invocation.Method)) { return(false); } return(true); }
private bool ShouldWriteAuditLog( IAbpMethodInvocation invocation, AbpAuditingOptions options, ICurrentUser currentUser, bool hasError) { if (options.AlwaysLogOnException && hasError) { return(true); } if (!options.IsEnabledForAnonymousUsers && !currentUser.IsAuthenticated) { return(false); } if (!options.IsEnabledForGetRequests && invocation.Method.Name.StartsWith("Get", StringComparison.OrdinalIgnoreCase)) { return(false); } return(true); }
public AuditingHelper( IAuditSerializer auditSerializer, IOptions <AbpAuditingOptions> options, ICurrentUser currentUser, ICurrentTenant currentTenant, ICurrentClient currentClient, IClock clock, IAuditingStore auditingStore, ILogger <AuditingHelper> logger, IServiceProvider serviceProvider, ICorrelationIdProvider correlationIdProvider) { Options = options.Value; AuditSerializer = auditSerializer; CurrentUser = currentUser; CurrentTenant = currentTenant; CurrentClient = currentClient; Clock = clock; AuditingStore = auditingStore; Logger = logger; ServiceProvider = serviceProvider; CorrelationIdProvider = correlationIdProvider; }
public IActionResult AuditActivateFailed([FromServices] AbpAuditingOptions options) { return(Ok()); }
public AuditTestController(IOptions <AbpAuditingOptions> options) { _options = options.Value; }
public IActionResult OnGetAuditActivateFailed([FromServices] AbpAuditingOptions options) { return(new OkResult()); }
public AuditTestPage(IOptions <AbpAuditingOptions> options) { _options = options.Value; }
public AuditTestPage_Tests() { _options = ServiceProvider.GetRequiredService <IOptions <AbpAuditingOptions> >().Value; _auditingStore = ServiceProvider.GetRequiredService <IAuditingStore>(); }
public JsonNetAuditSerializer(IOptions <AbpAuditingOptions> options) { Options = options.Value; }
public AbpAuditActionFilter(IOptions <AbpAuditingOptions> options, IAuditingHelper auditingHelper, IAuditingManager auditingManager) { Options = options.Value; _auditingHelper = auditingHelper; _auditingManager = auditingManager; }