/
fr1n1ss
/
PasswordManager
Обзор
Документация
Войти
/
fr1n1ss
/
PasswordManager
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
PasswordManagerAPI/Services/AuditService.cs
36 строк
1 KB
Dmitry Kiselyov
expanded security settings, sessions, audit logs, and dev network access
11 апр 2026, 16:17
11 апр 2026, 16:17
a9bd710
Код
Авторство
О чём код?
using PasswordManagerAPI.Entities; namespace PasswordManagerAPI.Services { public class AuditService : IAuditService { private readonly AppDbContext _context; private readonly IHttpContextAccessor _httpContextAccessor; public AuditService(AppDbContext context, IHttpContextAccessor httpContextAccessor) { _context = context; _httpContextAccessor = httpContextAccessor; } public async Task LogAsync(string action, int? userId = null, Guid? sessionId = null, string? details = null) { var httpContext = _httpContextAccessor.HttpContext; var ipAddress = RequestMetadataHelper.GetClientIp(httpContext); var userAgent = httpContext?.Request.Headers.UserAgent.ToString(); _context.AuditLogs.Add(new AuditLog { UserId = userId, SessionId = sessionId, Action = action, Details = details, IpAddress = ipAddress, UserAgent = userAgent, CreatedAt = DateTime.UtcNow }); await _context.SaveChangesAsync(); } } }