using Abp.Authorization; using Abp.Domain.Uow; using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Authentication.Cookies; using Microsoft.AspNetCore.Identity; using Microsoft.Extensions.Options; using VberZero.BaseSystem.Users; namespace VberZero.Authorization; public class VzSecurityStampValidator : SecurityStampValidator { private readonly IUnitOfWorkManager _unitOfWorkManager; public VzSecurityStampValidator( IOptions options, VzSignInManager signInManager, ISystemClock systemClock, ILoggerFactory loggerFactory, IUnitOfWorkManager unitOfWorkManager) : base( options, signInManager, systemClock, loggerFactory) { _unitOfWorkManager = unitOfWorkManager; } public override async Task ValidateAsync(CookieValidatePrincipalContext context) { await _unitOfWorkManager.WithUnitOfWorkAsync(async () => { await base.ValidateAsync(context); }); } }