Показывать реального пользователя в аудите и лимитах
Добавлен батч-резолв логинов владельцев пространств (IAuthStore.FindOwnerLoginsByTenantIdsAsync). Ответы аудита дополнены userName (владелец пространства либо логин попытки), ответы лимитов — ownerLogin; имя пространства остаётся вторичным.
This commit is contained in:
@@ -41,6 +41,16 @@ public interface IAuthStore
|
||||
/// <returns>Пользователи тенанта, упорядоченные по времени создания (пусто — пользователей нет).</returns>
|
||||
public Task<IReadOnlyList<UserIdentityDto>> ListUsersByTenantIdAsync(Guid tenantId, CancellationToken ct);
|
||||
|
||||
/// <summary>
|
||||
/// Логины владельцев тенантов
|
||||
/// </summary>
|
||||
/// <param name="tenantIds">Идентификаторы тенантов.</param>
|
||||
/// <param name="ct">Токен отмены.</param>
|
||||
/// <returns>Словарь tenantId → логин владельца (первый пользователь по времени создания); тенанты без пользователей не включаются.</returns>
|
||||
public Task<IReadOnlyDictionary<Guid, string>> FindOwnerLoginsByTenantIdsAsync(
|
||||
IReadOnlyCollection<Guid> tenantIds,
|
||||
CancellationToken ct);
|
||||
|
||||
/// <summary>
|
||||
/// Сохраняет новую сессию.
|
||||
/// </summary>
|
||||
|
||||
@@ -7,7 +7,8 @@ namespace Deal.Modules.Tenants.Application.Models;
|
||||
/// <param name="ActorType">Тип актора — константа <c>AuditActorTypes</c>.</param>
|
||||
/// <param name="ActorId">Идентификатор актора; null, если актор неизвестен.</param>
|
||||
/// <param name="TenantId">Идентификатор пользователя события; null для операторских/системных событий.</param>
|
||||
/// <param name="TenantName">Имя пользователя события; null, если не разрешено.</param>
|
||||
/// <param name="UserName">Логин реального пользователя (владелец пространства либо логин попытки); null, если не разрешён.</param>
|
||||
/// <param name="TenantName">Имя пространства события; null, если не разрешено.</param>
|
||||
/// <param name="Ip">IP-адрес клиента (без порта); null для серверных действий.</param>
|
||||
/// <param name="Changes">Человекочитаемые изменения параметров события.</param>
|
||||
/// <param name="DetailJson">Сырые детали события в JSON; null, если деталей нет.</param>
|
||||
@@ -18,6 +19,7 @@ public sealed record AuditRecordViewDto(
|
||||
string ActorType,
|
||||
Guid? ActorId,
|
||||
Guid? TenantId,
|
||||
string? UserName,
|
||||
string? TenantName,
|
||||
string? Ip,
|
||||
IReadOnlyList<AuditChangeDto> Changes,
|
||||
|
||||
Reference in New Issue
Block a user