README.md
se agrego readme.md
This commit is contained in:
@@ -0,0 +1,79 @@
|
|||||||
|
|
||||||
|
# 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.
|
||||||
Reference in New Issue
Block a user