|
|
|
@ -1,4 +1,5 @@ |
|
|
|
using System.Threading.Tasks; |
|
|
|
using Volo.Abp.MultiTenancy; |
|
|
|
using Volo.Abp.Security.Claims; |
|
|
|
|
|
|
|
namespace Volo.Abp.Authorization.Permissions |
|
|
|
@ -9,10 +10,12 @@ namespace Volo.Abp.Authorization.Permissions |
|
|
|
|
|
|
|
public override string Name => ProviderName; |
|
|
|
|
|
|
|
public ClientPermissionValueProvider(IPermissionStore permissionStore) |
|
|
|
protected ICurrentTenant CurrentTenant { get; } |
|
|
|
|
|
|
|
public ClientPermissionValueProvider(IPermissionStore permissionStore, ICurrentTenant currentTenant) |
|
|
|
: base(permissionStore) |
|
|
|
{ |
|
|
|
|
|
|
|
CurrentTenant = currentTenant; |
|
|
|
} |
|
|
|
|
|
|
|
public async override Task<PermissionGrantResult> CheckAsync(PermissionValueCheckContext context) |
|
|
|
@ -24,9 +27,12 @@ namespace Volo.Abp.Authorization.Permissions |
|
|
|
return PermissionGrantResult.Undefined; |
|
|
|
} |
|
|
|
|
|
|
|
return await PermissionStore.IsGrantedAsync(context.Permission.Name, Name, clientId) |
|
|
|
? PermissionGrantResult.Granted |
|
|
|
: PermissionGrantResult.Undefined; |
|
|
|
using (CurrentTenant.Change(null)) |
|
|
|
{ |
|
|
|
return await PermissionStore.IsGrantedAsync(context.Permission.Name, Name, clientId) |
|
|
|
? PermissionGrantResult.Granted |
|
|
|
: PermissionGrantResult.Undefined; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|