diff --git a/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/ClientPermissionValueProvider.cs b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/ClientPermissionValueProvider.cs index ec827f83a4..87b391443d 100644 --- a/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/ClientPermissionValueProvider.cs +++ b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/ClientPermissionValueProvider.cs @@ -1,25 +1,23 @@ using System.Threading.Tasks; -using Volo.Abp.Clients; +using Volo.Abp.Security.Claims; namespace Volo.Abp.Authorization.Permissions { public class ClientPermissionValueProvider : PermissionValueProvider { - protected ICurrentClient CurrentClient { get; } - public const string ProviderName = "Client"; public override string Name => ProviderName; - public ClientPermissionValueProvider(ICurrentClient currentClient, IPermissionStore permissionStore) + public ClientPermissionValueProvider(IPermissionStore permissionStore) : base(permissionStore) { - CurrentClient = currentClient; + } public override async Task CheckAsync(PermissionValueCheckContext context) { - var clientId = CurrentClient.Id; + var clientId = context.Principal?.FindFirst(AbpClaimTypes.ClientId)?.Value; if (clientId == null) { diff --git a/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/RolePermissionValueProvider.cs b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/RolePermissionValueProvider.cs index 5925a3f6d4..314e88411a 100644 --- a/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/RolePermissionValueProvider.cs +++ b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/RolePermissionValueProvider.cs @@ -1,27 +1,24 @@ using System.Linq; using System.Threading.Tasks; using Volo.Abp.Security.Claims; -using Volo.Abp.Users; namespace Volo.Abp.Authorization.Permissions { public class RolePermissionValueProvider : PermissionValueProvider { - protected ICurrentUser CurrentUser { get; } - public const string ProviderName = "Role"; public override string Name => ProviderName; - public RolePermissionValueProvider(ICurrentUser currentUser, IPermissionStore permissionStore) + public RolePermissionValueProvider(IPermissionStore permissionStore) : base(permissionStore) { - CurrentUser = currentUser; + } public override async Task CheckAsync(PermissionValueCheckContext context) { - var roles = CurrentUser.Roles; + var roles = context.Principal?.FindAll(AbpClaimTypes.Role).Select(c => c.Value).ToArray(); if (roles == null || !roles.Any()) { diff --git a/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/UserPermissionValueProvider.cs b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/UserPermissionValueProvider.cs index 9203467a5a..f04a85910f 100644 --- a/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/UserPermissionValueProvider.cs +++ b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/UserPermissionValueProvider.cs @@ -1,26 +1,23 @@ using System.Threading.Tasks; using Volo.Abp.Security.Claims; -using Volo.Abp.Users; namespace Volo.Abp.Authorization.Permissions { public class UserPermissionValueProvider : PermissionValueProvider { - protected ICurrentUser CurrentUser { get; } - public const string ProviderName = "User"; public override string Name => ProviderName; - public UserPermissionValueProvider(ICurrentUser currentUser, IPermissionStore permissionStore) + public UserPermissionValueProvider(IPermissionStore permissionStore) : base(permissionStore) { - CurrentUser = currentUser; + } public override async Task CheckAsync(PermissionValueCheckContext context) { - var userId = CurrentUser.Id?.ToString(); + var userId = context.Principal?.FindFirst(AbpClaimTypes.UserId)?.Value; if (userId == null) {