Indrivo.Audit.ResourceAccessor.EfAuditTrail
1.0.15
See the version list below for details.
dotnet add package Indrivo.Audit.ResourceAccessor.EfAuditTrail --version 1.0.15
NuGet\Install-Package Indrivo.Audit.ResourceAccessor.EfAuditTrail -Version 1.0.15
<PackageReference Include="Indrivo.Audit.ResourceAccessor.EfAuditTrail" Version="1.0.15" />
paket add Indrivo.Audit.ResourceAccessor.EfAuditTrail --version 1.0.15
#r "nuget: Indrivo.Audit.ResourceAccessor.EfAuditTrail, 1.0.15"
// Install Indrivo.Audit.ResourceAccessor.EfAuditTrail as a Cake Addin #addin nuget:?package=Indrivo.Audit.ResourceAccessor.EfAuditTrail&version=1.0.15 // Install Indrivo.Audit.ResourceAccessor.EfAuditTrail as a Cake Tool #tool nuget:?package=Indrivo.Audit.ResourceAccessor.EfAuditTrail&version=1.0.15
.Net Modules | Background Processing
Introduction
The audit component will allow you to provide information about user actions in the system. The audit component will provide information on user access to the system, authentication attempts, accessed folders, data changes, etc.
Purpose
The module is designed to monitor all changes and logs within the system. Depending on the role, access will only be allowed on certain system components. The system will record detailed logs so that access can be monitored, and situations where someone accesses data they should not be able to access can be examined.
How to set up
A reference web api is already set up in the current repository you can check that one for detailed implementation information. Below only a small set of nuances will be explained. Set up is pretty straightforward you will need to install the following packages inside your solution:
<PackageReference Include="Indrivo.Audit.Accessor" Version="1.0.1" />
In your appsettings.json
file, add the configuration for the connection string:
"ConnectionStrings": {
"AuditConnection": "Data Source=(localdb)\\mssqllocaldb;Database=aspnet-auditTest;Trusted_Connection=True;MultipleActiveResultSets=true"
}
Configuring the Database Providers
The AuditResourceAccessorBuilder
is designed to be flexible and allow configuration for different database providers:
SQL Server:
var auditResourceAccessorBuilder = new AuditResourceAccessorBuilder(builder.Services); auditResourceAccessorBuilder.WithSqlServer( builder.Configuration["ConnectionStrings:SqlServerConnection"]) .AddServiceLayer() .AddValidators() .Build();
PostgreSQL:
var auditResourceAccessorBuilder = new AuditResourceAccessorBuilder(builder.Services); auditResourceAccessorBuilder.WithPostgreSql( builder.Configuration["ConnectionStrings:PostgreSqlConnection"]) .AddServiceLayer() .AddValidators() .Build();
You can also create custom configurations by implementing the IDbConfigurer
interface for any other database provider and integrating it similarly using the builder pattern.
Applying Migrations
To apply the migrations at the start of the application, you can run the following line of code in your Program.cs
:
app.ApplyAuditMigrations();
This nuget exposes 4 methods for creating and geting the audit information:
Task<Result> CreateAuditEventAsync(CreateAuditEventCommand command, CancellationToken cancellationToken);
Task<Result> CreateAuditEventTypeAsync(CreateAuditEventTypeCommand command, CancellationToken cancellationToken);
Task<Result> CreateAuditEventTypesAsync(List<CreateAuditEventTypeCommand> command, CancellationToken cancellationToken);
Task<Result<List<EventTypeDTO>>> GetEventTypesAsync(CancellationToken cancellationToken);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net8.0
- Indrivo.Audit.Accessor.Contracts (>= 1.0.15)
- Indrivo.Audit.ResourceAccessor.Infrastructure.Data (>= 1.0.15)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.