From 467a8fd581d27704506466563cfedc198a467279 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 23 Feb 2018 10:15:05 +0300 Subject: [PATCH] Refactor and notes on code review. --- .../Authorization/Permissions/PermissionChecker.cs | 3 +-- .../Permissions/IPermissionManagementProvider.cs | 2 ++ .../Volo/Abp/Permissions/PermissionManager.cs | 13 ++++++------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/PermissionChecker.cs b/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/PermissionChecker.cs index ffda9cafc3..e382cf3a95 100644 --- a/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/PermissionChecker.cs +++ b/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/PermissionChecker.cs @@ -34,8 +34,7 @@ namespace Volo.Abp.Authorization.Permissions true ); } - - + public Task CheckAsync(string name) { var permission = PermissionDefinitionManager.Get(name); diff --git a/src/Volo.Abp.Permissions.Domain/Volo/Abp/Permissions/IPermissionManagementProvider.cs b/src/Volo.Abp.Permissions.Domain/Volo/Abp/Permissions/IPermissionManagementProvider.cs index 7affa13bd6..8c8a2d9d24 100644 --- a/src/Volo.Abp.Permissions.Domain/Volo/Abp/Permissions/IPermissionManagementProvider.cs +++ b/src/Volo.Abp.Permissions.Domain/Volo/Abp/Permissions/IPermissionManagementProvider.cs @@ -11,6 +11,8 @@ namespace Volo.Abp.Permissions Task CheckAsync([NotNull] string name, [NotNull] string providerName, [NotNull] string providerKey); + //TODO: Instead of GrantAsync/RevokeAsync add SetAsync + Task GrantAsync([NotNull] string name, [NotNull] string providerKey); Task RevokeAsync([NotNull] string name, [NotNull] string providerKey); diff --git a/src/Volo.Abp.Permissions.Domain/Volo/Abp/Permissions/PermissionManager.cs b/src/Volo.Abp.Permissions.Domain/Volo/Abp/Permissions/PermissionManager.cs index 0b29b70672..682ee0c540 100644 --- a/src/Volo.Abp.Permissions.Domain/Volo/Abp/Permissions/PermissionManager.cs +++ b/src/Volo.Abp.Permissions.Domain/Volo/Abp/Permissions/PermissionManager.cs @@ -70,19 +70,18 @@ namespace Volo.Abp.Permissions return; } + var provider = ManagementProviders.FirstOrDefault(m => m.Name == providerName); + if (provider == null) + { + throw new AbpException("Unknown permission management provider: " + providerName); + } + if (currentGrantInfo.IsGranted == false) { - var provider = ManagementProviders.FirstOrDefault(m => m.Name == providerName); await provider.GrantAsync(permissionName, providerKey); } else { - if (currentGrantInfo.Providers.All(p => p.Name != providerName)) - { - return; - } - - var provider = ManagementProviders.FirstOrDefault(m => m.Name == providerName); await provider.RevokeAsync(permissionName, providerKey); } }