VzSecurityStampValidator.cs 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using Abp.Authorization;
  2. using Abp.Domain.Uow;
  3. using Microsoft.AspNetCore.Authentication;
  4. using Microsoft.AspNetCore.Authentication.Cookies;
  5. using Microsoft.AspNetCore.Identity;
  6. using Microsoft.Extensions.Options;
  7. using VberZero.BaseSystem.Users;
  8. namespace VberZero.Authorization;
  9. public class VzSecurityStampValidator : SecurityStampValidator<User>
  10. {
  11. private readonly IUnitOfWorkManager _unitOfWorkManager;
  12. public VzSecurityStampValidator(
  13. IOptions<SecurityStampValidatorOptions> options,
  14. VzSignInManager signInManager,
  15. ISystemClock systemClock,
  16. ILoggerFactory loggerFactory,
  17. IUnitOfWorkManager unitOfWorkManager)
  18. : base(
  19. options,
  20. signInManager,
  21. systemClock,
  22. loggerFactory)
  23. {
  24. _unitOfWorkManager = unitOfWorkManager;
  25. }
  26. public override async Task ValidateAsync(CookieValidatePrincipalContext context)
  27. {
  28. await _unitOfWorkManager.WithUnitOfWorkAsync(async () => { await base.ValidateAsync(context); });
  29. }
  30. }