Browse Source

Merge pull request #7814 from abpframework/maliming/AbpSecurityStampValidator

Change current tenant in AbpSecurityStampValidator.
pull/7856/head
Halil İbrahim Kalkan 5 years ago
committed by GitHub
parent
commit
101d3549c4
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 20
      modules/identity/src/Volo.Abp.Identity.AspNetCore/Volo/Abp/Identity/AspNetCore/AbpSecurityStampValidator.cs

20
modules/identity/src/Volo.Abp.Identity.AspNetCore/Volo/Abp/Identity/AspNetCore/AbpSecurityStampValidator.cs

@ -4,29 +4,41 @@ using Microsoft.AspNetCore.Authentication.Cookies;
using Microsoft.AspNetCore.Identity;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Volo.Abp.MultiTenancy;
using Volo.Abp.Uow;
namespace Volo.Abp.Identity.AspNetCore
{
public class AbpSecurityStampValidator : SecurityStampValidator<IdentityUser>
{
protected ITenantConfigurationProvider TenantConfigurationProvider { get; }
protected ICurrentTenant CurrentTenant { get; }
public AbpSecurityStampValidator(
IOptions<SecurityStampValidatorOptions> options,
SignInManager<IdentityUser> signInManager,
ISystemClock systemClock,
ILoggerFactory loggerFactory)
ILoggerFactory loggerFactory,
ITenantConfigurationProvider tenantConfigurationProvider,
ICurrentTenant currentTenant)
: base(
options,
options,
signInManager,
systemClock,
loggerFactory)
{
TenantConfigurationProvider = tenantConfigurationProvider;
CurrentTenant = currentTenant;
}
[UnitOfWork]
public override Task ValidateAsync(CookieValidatePrincipalContext context)
public override async Task ValidateAsync(CookieValidatePrincipalContext context)
{
return base.ValidateAsync(context);
var tenant = await TenantConfigurationProvider.GetAsync(saveResolveResult: false);
using (CurrentTenant.Change(tenant?.Id, tenant?.Name))
{
await base.ValidateAsync(context);
}
}
}
}

Loading…
Cancel
Save