Audit.NET An extensible framework to audit executing operations in .NET and .NET Core. 项目地址: https://gitcode.com/gh_mirrors/au/Audit.NET
Audit.NET 是一个可扩展的框架,用于在 .NET 和 .NET Core 中审计执行的操作。它能够生成带有证据的审计日志,以便重建和检查影响特定操作或过程的活动。通过 Audit.NET,您可以生成有关正在执行的操作的跟踪信息,收集环境信息(如调用者用户 ID、机器名、方法名和异常),包括执行时间,并提供一个可扩展的机制来丰富日志和处理审计输出。
在 Package Manager Console 中运行以下命令安装 Audit.NET:
PM> Install-Package Audit.NET
以下是一个简单的示例,展示如何创建和使用审计范围:
using Audit.Core;
using Audit.NET;
// 配置审计数据提供程序
Audit.Core.Configuration.DataProvider = new JsonFileDataProvider()
{
FileName = "auditlogs.json"
};
// 创建审计范围
using (var scope = AuditScope.Create(new AuditScopeOptions()
{
EventType = "Order:Update",
TargetGetter = () => new { OrderId = 123, Status = "Shipped" },
ExtraFields = new { User = "admin" }
}))
{
// 执行操作
// ...
}
您可以通过 AuditScopeOptions
配置审计事件:
var options = new AuditScopeOptions()
{
EventType = "Order:Create",
TargetGetter = () => new { OrderId = 456, Status = "New" },
ExtraFields = new { User = "user1" },
DataProvider = new SqlDataProvider(connectionString: "YourConnectionString")
};
using (var scope = AuditScope.Create(options))
{
// 执行操作
// ...
}
使用 Entity Framework 扩展审计数据库操作:
public class MyDbContext : AuditDbContext
{
public MyDbContext(DbContextOptions options) : base(options)
{
}
public DbSet Orders { get; set; }
}
// 在操作中创建审计范围
using (var scope = AuditScope.Create("Order:Update", () => order))
{
context.SaveChanges();
}
使用 WebAPI 扩展审计 Web API 请求:
public class MyApiController : ApiController
{
[AuditApi(EventType = "API:Request", IncludeResponse = true)]
public IHttpActionResult Get(int id)
{
// 处理请求
return Ok();
}
}
IAuditScopeFactory
进行集中配置,确保所有审计范围的一致性。Audit.NET 提供了 Audit.EntityFramework.Core
扩展,用于审计 Entity Framework Core 的操作。
使用 Audit.Mvc.Core
扩展,可以轻松审计 ASP.NET Core MVC 中的请求和响应。
Audit.WebApi.Core
扩展允许您审计 ASP.NET Core Web API 的请求和响应。
通过 Audit.SignalR
扩展,您可以审计 SignalR 的实时通信。
AzureBlobDataProvider
将审计日志存储在 Azure Blob Storage 中。ElasticsearchDataProvider
将审计日志索引到 Elasticsearch。通过以上模块,您应该能够快速上手并有效地使用 Audit.NET 框架进行项目审计。希望这篇教程对您有所帮助!
Audit.NET An extensible framework to audit executing operations in .NET and .NET Core. 项目地址: https://gitcode.com/gh_mirrors/au/Audit.NET