Files
AuditLogs/audit-logs/README.md
T
Julian Rojas 2d47cbf72b README.md
se agrego readme.md
2024-11-27 11:54:42 +00:00

80 lines
2.9 KiB
Markdown

# 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`:
```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:
```bash
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:
```csharp
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
```csharp
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.