using Kean.Domain.Identity.Enums; using Kean.Domain.Identity.Events; using Kean.Domain.Identity.Repositories; using Kean.Infrastructure.Utilities; using System.Threading; using System.Threading.Tasks; namespace Kean.Domain.Identity.EventHandlers { /// /// 注销时,处理安全策略 /// public sealed class LogoutSuccessEventHandler_Security : EventHandler { private readonly ISecurityRepository _securityRepository; // 安全仓库 /// /// 依赖注入 /// public LogoutSuccessEventHandler_Security( ISecurityRepository securityRepository) { _securityRepository = securityRepository; } /// /// 处理程序 /// public override async Task Handle(LogoutSuccessEvent @event, CancellationToken cancellationToken) { await _securityRepository.WriteLog(nameof(SecurityLog.Offline), JsonHelper.Serialize(new { @event.Session, @event.Reason })); } } }