From 82395d925396a4451137fe04340845905d583d22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 27 Feb 2018 11:34:27 +0300 Subject: [PATCH] Moved permission management api to user/role. --- ....Abp.Identity.Application.Contracts.csproj | 1 + .../AbpIdentityApplicationContractsModule.cs | 2 + .../Abp/Identity/IIdentityRoleAppService.cs | 5 ++ .../Abp/Identity/IIdentityUserAppService.cs | 5 ++ .../Volo.Abp.Identity.Application.csproj | 1 + .../Identity/AbpIdentityApplicationModule.cs | 3 +- .../Abp/Identity/IdentityRoleAppService.cs | 19 ++++++- .../Abp/Identity/IdentityUserAppService.cs | 19 ++++++- .../IdentityPermissionAppServiceGateway.cs | 51 +++++++++++++++++++ .../modules/identity/views/roles/index.js | 2 +- ...bpPermissionsApplicationContractsModule.cs | 6 --- .../Abp/Permissions/IdentityPermissions.cs | 13 ----- ...PermissionsPermissionDefinitionProvider.cs | 15 ------ .../IPermissionAppServiceHelper.cs} | 3 +- ...rvice.cs => PermissionAppServiceHelper.cs} | 9 ++-- .../IPermissionAppServiceHelper.cs | 12 +++++ ...tImplementedPermissionAppServiceGateway.cs | 18 +++++++ .../PermissionManagementModal.cshtml | 1 - .../PermissionManagementModal.cshtml.cs | 12 ++--- 19 files changed, 143 insertions(+), 54 deletions(-) create mode 100644 src/Volo.Abp.Identity.Web/Permissions/IdentityPermissionAppServiceGateway.cs delete mode 100644 src/Volo.Abp.Permissions.Application.Contracts/Volo/Abp/Permissions/IdentityPermissions.cs delete mode 100644 src/Volo.Abp.Permissions.Application.Contracts/Volo/Abp/Permissions/PermissionsPermissionDefinitionProvider.cs rename src/{Volo.Abp.Permissions.Application.Contracts/Volo/Abp/Permissions/IPermissionAppService.cs => Volo.Abp.Permissions.Application/Volo/Abp/Permissions/IPermissionAppServiceHelper.cs} (76%) rename src/Volo.Abp.Permissions.Application/Volo/Abp/Permissions/{PermissionAppService.cs => PermissionAppServiceHelper.cs} (89%) create mode 100644 src/Volo.Abp.Permissions.Web/Pages/AbpPermissions/IPermissionAppServiceHelper.cs create mode 100644 src/Volo.Abp.Permissions.Web/Pages/AbpPermissions/NotImplementedPermissionAppServiceGateway.cs diff --git a/src/Volo.Abp.Identity.Application.Contracts/Volo.Abp.Identity.Application.Contracts.csproj b/src/Volo.Abp.Identity.Application.Contracts/Volo.Abp.Identity.Application.Contracts.csproj index da73098120..bbf7d8a214 100644 --- a/src/Volo.Abp.Identity.Application.Contracts/Volo.Abp.Identity.Application.Contracts.csproj +++ b/src/Volo.Abp.Identity.Application.Contracts/Volo.Abp.Identity.Application.Contracts.csproj @@ -17,6 +17,7 @@ + diff --git a/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/AbpIdentityApplicationContractsModule.cs b/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/AbpIdentityApplicationContractsModule.cs index 54b4b99a24..a5444b279e 100644 --- a/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/AbpIdentityApplicationContractsModule.cs +++ b/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/AbpIdentityApplicationContractsModule.cs @@ -2,12 +2,14 @@ using Volo.Abp.Authorization; using Volo.Abp.Authorization.Permissions; using Volo.Abp.Modularity; +using Volo.Abp.Permissions; namespace Volo.Abp.Identity { [DependsOn(typeof(AbpIdentityDomainSharedModule))] [DependsOn(typeof(AbpAuthorizationModule))] [DependsOn(typeof(AbpDddModule))] + [DependsOn(typeof(AbpPermissionsApplicationContractsModule))] public class AbpIdentityApplicationContractsModule : AbpModule { public override void ConfigureServices(IServiceCollection services) diff --git a/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IIdentityRoleAppService.cs b/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IIdentityRoleAppService.cs index cc72600e16..e723226ac1 100644 --- a/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IIdentityRoleAppService.cs +++ b/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IIdentityRoleAppService.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Threading.Tasks; using Volo.Abp.Application.Services; +using Volo.Abp.Permissions; namespace Volo.Abp.Identity { @@ -9,5 +10,9 @@ namespace Volo.Abp.Identity { //TODO: remove after a better design Task> GetAllListAsync(); + + Task GetPermissionsAsync(Guid id); + + Task UpdatePermissionsAsync(Guid id, UpdatePermissionsDto input); } } diff --git a/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IIdentityUserAppService.cs b/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IIdentityUserAppService.cs index c620ebd917..52330478b7 100644 --- a/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IIdentityUserAppService.cs +++ b/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IIdentityUserAppService.cs @@ -2,6 +2,7 @@ using System.Threading.Tasks; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; +using Volo.Abp.Permissions; namespace Volo.Abp.Identity { @@ -10,5 +11,9 @@ namespace Volo.Abp.Identity Task> GetRolesAsync(Guid id); Task UpdateRolesAsync(Guid id, IdentityUserUpdateRolesDto input); + + Task GetPermissionsAsync(Guid id); + + Task UpdatePermissionsAsync(Guid id, UpdatePermissionsDto input); } } diff --git a/src/Volo.Abp.Identity.Application/Volo.Abp.Identity.Application.csproj b/src/Volo.Abp.Identity.Application/Volo.Abp.Identity.Application.csproj index 95ecf93245..475290bd98 100644 --- a/src/Volo.Abp.Identity.Application/Volo.Abp.Identity.Application.csproj +++ b/src/Volo.Abp.Identity.Application/Volo.Abp.Identity.Application.csproj @@ -17,6 +17,7 @@ + diff --git a/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/AbpIdentityApplicationModule.cs b/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/AbpIdentityApplicationModule.cs index 23c80bcab6..e37bde87d0 100644 --- a/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/AbpIdentityApplicationModule.cs +++ b/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/AbpIdentityApplicationModule.cs @@ -10,7 +10,8 @@ namespace Volo.Abp.Identity typeof(AbpIdentityDomainModule), typeof(AbpIdentityApplicationContractsModule), typeof(AbpAutoMapperModule), - typeof(AbpSessionModule) + typeof(AbpSessionModule), + typeof(AbpPermissionsApplicationModule) )] public class AbpIdentityApplicationModule : AbpModule { diff --git a/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/IdentityRoleAppService.cs b/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/IdentityRoleAppService.cs index f3e0246d49..5509ad1158 100644 --- a/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/IdentityRoleAppService.cs +++ b/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/IdentityRoleAppService.cs @@ -4,6 +4,8 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; +using Volo.Abp.Authorization.Permissions; +using Volo.Abp.Permissions; namespace Volo.Abp.Identity { @@ -12,13 +14,16 @@ namespace Volo.Abp.Identity { private readonly IdentityRoleManager _roleManager; private readonly IIdentityRoleRepository _roleRepository; + private readonly IPermissionAppServiceHelper _permissionAppServiceHelper; public IdentityRoleAppService( IdentityRoleManager roleManager, - IIdentityRoleRepository roleRepository) + IIdentityRoleRepository roleRepository, + IPermissionAppServiceHelper permissionAppServiceHelper) { _roleManager = roleManager; _roleRepository = roleRepository; + _permissionAppServiceHelper = permissionAppServiceHelper; } public async Task GetAsync(Guid id) @@ -46,6 +51,18 @@ namespace Volo.Abp.Identity return ObjectMapper.Map, List>(list); } + public async Task GetPermissionsAsync(Guid id) + { + var role = await _roleRepository.GetAsync(id); + return await _permissionAppServiceHelper.GetAsync(RolePermissionValueProvider.ProviderName, role.Name); //TODO: User normalized role name instad of name? + } + + public async Task UpdatePermissionsAsync(Guid id, UpdatePermissionsDto input) + { + var role = await _roleRepository.GetAsync(id); + await _permissionAppServiceHelper.UpdateAsync(RolePermissionValueProvider.ProviderName, role.Name, input); + } + [Authorize(IdentityPermissions.Roles.Create)] public async Task CreateAsync(IdentityRoleCreateDto input) { diff --git a/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/IdentityUserAppService.cs b/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/IdentityUserAppService.cs index df9583d076..76d7137657 100644 --- a/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/IdentityUserAppService.cs +++ b/src/Volo.Abp.Identity.Application/Volo/Abp/Identity/IdentityUserAppService.cs @@ -3,6 +3,8 @@ using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Volo.Abp.Application.Dtos; +using Volo.Abp.Authorization.Permissions; +using Volo.Abp.Permissions; namespace Volo.Abp.Identity { @@ -11,11 +13,16 @@ namespace Volo.Abp.Identity { private readonly IdentityUserManager _userManager; private readonly IIdentityUserRepository _userRepository; + private readonly IPermissionAppServiceHelper _permissionAppServiceHelper; - public IdentityUserAppService(IdentityUserManager userManager, IIdentityUserRepository userRepository) + public IdentityUserAppService( + IdentityUserManager userManager, + IIdentityUserRepository userRepository, + IPermissionAppServiceHelper permissionAppServiceHelper) { _userManager = userManager; _userRepository = userRepository; + _permissionAppServiceHelper = permissionAppServiceHelper; } public async Task GetAsync(Guid id) @@ -89,6 +96,16 @@ namespace Volo.Abp.Identity CheckIdentityErrors(await _userManager.SetRolesAsync(user, input.RoleNames)); } + public async Task GetPermissionsAsync(Guid id) + { + return await _permissionAppServiceHelper.GetAsync(UserPermissionValueProvider.ProviderName, id.ToString()); + } + + public async Task UpdatePermissionsAsync(Guid id, UpdatePermissionsDto input) + { + await _permissionAppServiceHelper.UpdateAsync(UserPermissionValueProvider.ProviderName, id.ToString(), input); + } + private async Task UpdateUserByInput(IdentityUser user, IdentityUserCreateOrUpdateDtoBase input) { CheckIdentityErrors(await _userManager.SetEmailAsync(user, input.Email)); diff --git a/src/Volo.Abp.Identity.Web/Permissions/IdentityPermissionAppServiceGateway.cs b/src/Volo.Abp.Identity.Web/Permissions/IdentityPermissionAppServiceGateway.cs new file mode 100644 index 0000000000..512f994a6b --- /dev/null +++ b/src/Volo.Abp.Identity.Web/Permissions/IdentityPermissionAppServiceGateway.cs @@ -0,0 +1,51 @@ +using System; +using System.Threading.Tasks; +using Volo.Abp.Authorization.Permissions; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Permissions; +using Volo.Abp.Permissions.Web.Pages.AbpPermissions; + +namespace Volo.Abp.Identity.Web.Permissions +{ + //TODO: Instead of creating such a gateway/adapter, we can implement a common interface for app services, like IHasPermissionManagementApi and manage it dynamically! + + public class IdentityPermissionAppServiceGateway : IPermissionAppServiceGateway, ITransientDependency + { + private readonly IIdentityUserAppService _userAppService; + private readonly IIdentityRoleAppService _roleAppService; + + public IdentityPermissionAppServiceGateway(IIdentityUserAppService userAppService, IIdentityRoleAppService roleAppService) + { + _userAppService = userAppService; + _roleAppService = roleAppService; + } + + public async Task GetAsync(string providerName, string providerKey) + { + switch (providerName) + { + case UserPermissionValueProvider.ProviderName: + return await _userAppService.GetPermissionsAsync(Guid.Parse(providerKey)); + case RolePermissionValueProvider.ProviderName: + return await _roleAppService.GetPermissionsAsync(Guid.Parse(providerKey)); + default: + throw new NotImplementedException(); + } + } + + public async Task UpdateAsync(string providerName, string providerKey, UpdatePermissionsDto input) + { + switch (providerName) + { + case UserPermissionValueProvider.ProviderName: + await _userAppService.UpdatePermissionsAsync(Guid.Parse(providerKey), input); + break; + case RolePermissionValueProvider.ProviderName: + await _roleAppService.UpdatePermissionsAsync(Guid.Parse(providerKey), input); + break; + default: + throw new NotImplementedException(); + } + } + } +} diff --git a/src/Volo.Abp.Identity.Web/wwwroot/modules/identity/views/roles/index.js b/src/Volo.Abp.Identity.Web/wwwroot/modules/identity/views/roles/index.js index 5dd7eb4e23..ebfef708ef 100644 --- a/src/Volo.Abp.Identity.Web/wwwroot/modules/identity/views/roles/index.js +++ b/src/Volo.Abp.Identity.Web/wwwroot/modules/identity/views/roles/index.js @@ -59,7 +59,7 @@ action: function (data) { _permissionsModal.open({ providerName: 'Role', - providerKey: data.record.name + providerKey: data.record.id }); } }, diff --git a/src/Volo.Abp.Permissions.Application.Contracts/Volo/Abp/Permissions/AbpPermissionsApplicationContractsModule.cs b/src/Volo.Abp.Permissions.Application.Contracts/Volo/Abp/Permissions/AbpPermissionsApplicationContractsModule.cs index 4c49d556b2..21bd2092ac 100644 --- a/src/Volo.Abp.Permissions.Application.Contracts/Volo/Abp/Permissions/AbpPermissionsApplicationContractsModule.cs +++ b/src/Volo.Abp.Permissions.Application.Contracts/Volo/Abp/Permissions/AbpPermissionsApplicationContractsModule.cs @@ -1,5 +1,4 @@ using Microsoft.Extensions.DependencyInjection; -using Volo.Abp.Authorization.Permissions; using Volo.Abp.Modularity; namespace Volo.Abp.Permissions @@ -10,11 +9,6 @@ namespace Volo.Abp.Permissions { public override void ConfigureServices(IServiceCollection services) { - services.Configure(options => - { - options.DefinitionProviders.Add(); - }); - services.AddAssemblyOf(); } } diff --git a/src/Volo.Abp.Permissions.Application.Contracts/Volo/Abp/Permissions/IdentityPermissions.cs b/src/Volo.Abp.Permissions.Application.Contracts/Volo/Abp/Permissions/IdentityPermissions.cs deleted file mode 100644 index cea8d7504f..0000000000 --- a/src/Volo.Abp.Permissions.Application.Contracts/Volo/Abp/Permissions/IdentityPermissions.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace Volo.Abp.Permissions -{ - public static class PermissionPermissions - { - public const string GroupName = "AbpPermissions"; - - public static class Permissions - { - public const string Default = GroupName + ".Permissions"; - public const string Update = Default + ".Update"; - } - } -} \ No newline at end of file diff --git a/src/Volo.Abp.Permissions.Application.Contracts/Volo/Abp/Permissions/PermissionsPermissionDefinitionProvider.cs b/src/Volo.Abp.Permissions.Application.Contracts/Volo/Abp/Permissions/PermissionsPermissionDefinitionProvider.cs deleted file mode 100644 index 6391ae2087..0000000000 --- a/src/Volo.Abp.Permissions.Application.Contracts/Volo/Abp/Permissions/PermissionsPermissionDefinitionProvider.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Volo.Abp.Authorization.Permissions; - -namespace Volo.Abp.Permissions -{ - public class PermissionsPermissionDefinitionProvider : PermissionDefinitionProvider - { - public override void Define(IPermissionDefinitionContext context) - { - var group = context.AddGroup(PermissionPermissions.GroupName); - - var permissions = group.AddPermission(PermissionPermissions.Permissions.Default); - permissions.AddChild(PermissionPermissions.Permissions.Update); - } - } -} diff --git a/src/Volo.Abp.Permissions.Application.Contracts/Volo/Abp/Permissions/IPermissionAppService.cs b/src/Volo.Abp.Permissions.Application/Volo/Abp/Permissions/IPermissionAppServiceHelper.cs similarity index 76% rename from src/Volo.Abp.Permissions.Application.Contracts/Volo/Abp/Permissions/IPermissionAppService.cs rename to src/Volo.Abp.Permissions.Application/Volo/Abp/Permissions/IPermissionAppServiceHelper.cs index 169944d950..2a26b00bee 100644 --- a/src/Volo.Abp.Permissions.Application.Contracts/Volo/Abp/Permissions/IPermissionAppService.cs +++ b/src/Volo.Abp.Permissions.Application/Volo/Abp/Permissions/IPermissionAppServiceHelper.cs @@ -1,10 +1,9 @@ using System.Threading.Tasks; using JetBrains.Annotations; -using Volo.Abp.Application.Services; namespace Volo.Abp.Permissions { - public interface IPermissionAppService : IApplicationService + public interface IPermissionAppServiceHelper { Task GetAsync([NotNull] string providerName, [NotNull] string providerKey); diff --git a/src/Volo.Abp.Permissions.Application/Volo/Abp/Permissions/PermissionAppService.cs b/src/Volo.Abp.Permissions.Application/Volo/Abp/Permissions/PermissionAppServiceHelper.cs similarity index 89% rename from src/Volo.Abp.Permissions.Application/Volo/Abp/Permissions/PermissionAppService.cs rename to src/Volo.Abp.Permissions.Application/Volo/Abp/Permissions/PermissionAppServiceHelper.cs index 5bce2fb17a..f3805609e5 100644 --- a/src/Volo.Abp.Permissions.Application/Volo/Abp/Permissions/PermissionAppService.cs +++ b/src/Volo.Abp.Permissions.Application/Volo/Abp/Permissions/PermissionAppServiceHelper.cs @@ -1,18 +1,16 @@ using System.Collections.Generic; using System.Threading.Tasks; -using Microsoft.AspNetCore.Authorization; -using Volo.Abp.Application.Services; using Volo.Abp.Authorization.Permissions; +using Volo.Abp.DependencyInjection; namespace Volo.Abp.Permissions { - [Authorize(PermissionPermissions.Permissions.Default)] - public class PermissionAppService : ApplicationService, IPermissionAppService + public class PermissionAppServiceHelper : IPermissionAppServiceHelper, ITransientDependency { private readonly IPermissionManager _permissionManager; private readonly IPermissionDefinitionManager _permissionDefinitionManager; - public PermissionAppService( + public PermissionAppServiceHelper( IPermissionManager permissionManager, IPermissionDefinitionManager permissionDefinitionManager) { @@ -68,7 +66,6 @@ namespace Volo.Abp.Permissions return result; } - [Authorize(PermissionPermissions.Permissions.Update)] public async Task UpdateAsync(string providerName, string providerKey, UpdatePermissionsDto input) { foreach (var permission in input.Permissions) diff --git a/src/Volo.Abp.Permissions.Web/Pages/AbpPermissions/IPermissionAppServiceHelper.cs b/src/Volo.Abp.Permissions.Web/Pages/AbpPermissions/IPermissionAppServiceHelper.cs new file mode 100644 index 0000000000..bf3c3c4105 --- /dev/null +++ b/src/Volo.Abp.Permissions.Web/Pages/AbpPermissions/IPermissionAppServiceHelper.cs @@ -0,0 +1,12 @@ +using System.Threading.Tasks; +using JetBrains.Annotations; + +namespace Volo.Abp.Permissions.Web.Pages.AbpPermissions +{ + public interface IPermissionAppServiceGateway + { + Task GetAsync([NotNull] string providerName, [NotNull] string providerKey); + + Task UpdateAsync([NotNull] string providerName, [NotNull] string providerKey, UpdatePermissionsDto input); + } +} diff --git a/src/Volo.Abp.Permissions.Web/Pages/AbpPermissions/NotImplementedPermissionAppServiceGateway.cs b/src/Volo.Abp.Permissions.Web/Pages/AbpPermissions/NotImplementedPermissionAppServiceGateway.cs new file mode 100644 index 0000000000..78abae0100 --- /dev/null +++ b/src/Volo.Abp.Permissions.Web/Pages/AbpPermissions/NotImplementedPermissionAppServiceGateway.cs @@ -0,0 +1,18 @@ +using System.Threading.Tasks; +using Volo.Abp.DependencyInjection; + +namespace Volo.Abp.Permissions.Web.Pages.AbpPermissions +{ + public class NotImplementedPermissionAppServiceGateway : IPermissionAppServiceGateway, ISingletonDependency + { + public Task GetAsync(string providerName, string providerKey) + { + throw new System.NotImplementedException(); + } + + public Task UpdateAsync(string providerName, string providerKey, UpdatePermissionsDto input) + { + throw new System.NotImplementedException(); + } + } +} \ No newline at end of file diff --git a/src/Volo.Abp.Permissions.Web/Pages/AbpPermissions/PermissionManagementModal.cshtml b/src/Volo.Abp.Permissions.Web/Pages/AbpPermissions/PermissionManagementModal.cshtml index 2849cc9eb7..452fc85b04 100644 --- a/src/Volo.Abp.Permissions.Web/Pages/AbpPermissions/PermissionManagementModal.cshtml +++ b/src/Volo.Abp.Permissions.Web/Pages/AbpPermissions/PermissionManagementModal.cshtml @@ -1,6 +1,5 @@ @page @using Volo.Abp.Permissions.Web.Pages.AbpPermissions -@using Volo.Abp.Session @model PermissionManagementModal @{ Layout = null; diff --git a/src/Volo.Abp.Permissions.Web/Pages/AbpPermissions/PermissionManagementModal.cshtml.cs b/src/Volo.Abp.Permissions.Web/Pages/AbpPermissions/PermissionManagementModal.cshtml.cs index bc7c8bfd82..6774e8d827 100644 --- a/src/Volo.Abp.Permissions.Web/Pages/AbpPermissions/PermissionManagementModal.cshtml.cs +++ b/src/Volo.Abp.Permissions.Web/Pages/AbpPermissions/PermissionManagementModal.cshtml.cs @@ -9,7 +9,7 @@ namespace Volo.Abp.Permissions.Web.Pages.AbpPermissions { public class PermissionManagementModal : AbpPageModel { - private readonly IPermissionAppService _permissionAppService; + private readonly IPermissionAppServiceGateway _permissionAppServiceGateway; [Required] [HiddenInput] @@ -24,24 +24,22 @@ namespace Volo.Abp.Permissions.Web.Pages.AbpPermissions [BindProperty] public List Groups { get; set; } - public PermissionManagementModal(IPermissionAppService permissionAppService) + public PermissionManagementModal(IPermissionAppServiceGateway permissionAppServiceGateway) { - _permissionAppService = permissionAppService; + _permissionAppServiceGateway = permissionAppServiceGateway; } public async Task OnGetAsync() { ValidateModel(); - await CheckPolicyAsync(PermissionPermissions.Permissions.Default); - var result = await _permissionAppService.GetAsync(ProviderName, ProviderKey); + var result = await _permissionAppServiceGateway.GetAsync(ProviderName, ProviderKey); Groups = ObjectMapper.Map, List>(result.Groups); } public async Task OnPostAsync() { ValidateModel(); - await CheckPolicyAsync(PermissionPermissions.Permissions.Update); var updatePermissionDtos = Groups .SelectMany(g => g.Permissions) @@ -52,7 +50,7 @@ namespace Volo.Abp.Permissions.Web.Pages.AbpPermissions }) .ToArray(); - await _permissionAppService.UpdateAsync( + await _permissionAppServiceGateway.UpdateAsync( ProviderName, ProviderKey, new UpdatePermissionsDto