se agrego readme.md
2.9 KiB
Integración de la Biblioteca AuditLogs
Configuración y Uso de AuditLogs
Este documento es una guia para la utilización de la biblioteca AuditLogs en aplicaciones .NET que requieren funcionalidades de auditoría mediante MongoDB.
Configuración Inicial
1. Configuración en appsettings.json
Agregue la siguiente configuración para la conexión a la base de MongoDB que usara la biblioteca, esto se pone en el archivo appsettings.json:
"DatabaseConfigurationAudit": {
"ConnectionString": "mongodb://usuario:contraseña@host:puerto/?authSource=base_de_datos_autenticación",
"DatabaseName": "AuditMeddisPlanUciPanel"
}
2. Instalación de la Biblioteca
Instale la biblioteca AuditLogs a través de NuGet con el siguiente comando:
dotnet add package AuditLogs
previamente se tuvo que haber configurado esta fuente https://smacs-nuget.epigramdev.com/v3/index.json
3. Configuración en Program.cs
Para configurar los servicios de la biblioteca en el archivo Program.cs, se debe incluir el espacio de nombres audit_logs.Extensions y ejecutar el método AddAuditServices:
using audit_logs.Extensions;
var builder = WebApplication.CreateBuilder(args);
// Configuración de servicios de auditoría
builder.Services.AddAuditServices(builder.Configuration);
builder.Services.AddHttpContextAccessor();
Uso en Servicios
Implemente IAuditService en los servicios donde se requiera registrar eventos de auditoría.
El servicio de admisiones, por ejemplo, puede configurarse de la siguiente manera, donde se inyecta IAuditService y IHttpContextAccessor para registrar eventos de auditoría relacionados con las admisiones de pacientes:
Ejemplo en el Servicio de Admisiones
public class AdmissionService : IAdmissionService
{
private readonly IAuditService _auditService;
private readonly IHttpContextAccessor _httpContextAccessor;
// Inyección de otros servicios necesarios...
public AdmissionService(IAuditService auditService, IHttpContextAccessor httpContextAccessor, /* otros parámetros */)
{
_auditService = auditService;
_httpContextAccessor = httpContextAccessor;
// Inicialización de otros servicios...
}
public async Task AdmitPatient(Patient patient)
{
var httpContext = _httpContextAccessor.HttpContext;
var insertedAdmission = /* lógica para admitir al paciente */;
// Registro de evento de auditoría
await _auditService.CreateAuditLogAsync(httpContext.User, null, insertedAdmission);
}
}
Resumen
Los pasos anteriores permiten la integración de la biblioteca AuditLogs para la captura y registro de eventos de auditoría de manera eficiente. Es recomendable realizar pruebas exhaustivas en el entorno de desarrollo antes de desplegar en producción para asegurar la correcta configuración y funcionamiento.