From 9912a68d2eda0c00b253e0c4d5a5b4550f7bfc10 Mon Sep 17 00:00:00 2001 From: cKey <35512826+colinin@users.noreply.github.com> Date: Tue, 26 May 2020 11:07:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9D=83=E9=99=90=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E6=96=B9=E5=BC=8F=EF=BC=8C=E4=BD=BF=E5=85=B6=E4=BB=8E?= =?UTF-8?q?AbpConfiguration=E4=B8=AD=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PermissionAppService.cs | 24 ------------------- vueJs/src/store/modules/permission.ts | 14 +++++------ 2 files changed, 7 insertions(+), 31 deletions(-) diff --git a/aspnet-core/modules/permissions/LINGYUN.Abp.PermissionManagement.Application/LINGYUN/Abp/PermissionManagement/PermissionAppService.cs b/aspnet-core/modules/permissions/LINGYUN.Abp.PermissionManagement.Application/LINGYUN/Abp/PermissionManagement/PermissionAppService.cs index a19a33bad..565bd2d23 100644 --- a/aspnet-core/modules/permissions/LINGYUN.Abp.PermissionManagement.Application/LINGYUN/Abp/PermissionManagement/PermissionAppService.cs +++ b/aspnet-core/modules/permissions/LINGYUN.Abp.PermissionManagement.Application/LINGYUN/Abp/PermissionManagement/PermissionAppService.cs @@ -23,12 +23,10 @@ namespace LINGYUN.Abp.PermissionManagement public class PermissionAppService : ApplicationService, IPermissionAppService { protected PermissionManagementOptions Options { get; } - protected ICurrentClient CurrentClient { get; } protected IDistributedCache Cache { get; } protected IPermissionGrantRepository PermissionGrantRepository { get; } protected IPermissionDefinitionManager PermissionDefinitionManager { get; } public PermissionAppService( - ICurrentClient currentClient, IDistributedCache cache, IPermissionGrantRepository permissionGrantRepository, IPermissionDefinitionManager permissionDefinitionManager, @@ -36,7 +34,6 @@ namespace LINGYUN.Abp.PermissionManagement { Cache = cache; Options = options.Value; - CurrentClient = currentClient; PermissionGrantRepository = permissionGrantRepository; PermissionDefinitionManager = permissionDefinitionManager; } @@ -51,27 +48,6 @@ namespace LINGYUN.Abp.PermissionManagement var permissionGroups = PermissionDefinitionManager.GetGroups(); IEnumerable permissions = await PermissionGrantRepository.GetListAsync(providerName, providerKey); - - // 如果是当前用户权限,还需要查询角色权限 - if (providerName.Equals("U")) - { - var userId = CurrentUser.GetId().ToString(); - if (providerKey.Equals(userId)) - { - foreach (var role in CurrentUser.Roles) - { - var rolePermissions = await PermissionGrantRepository - .GetListAsync(RolePermissionValueProvider.ProviderName, role); - permissions = permissions.Union(rolePermissions); - } - } - } - if (!CurrentClient.Id.IsNullOrWhiteSpace()) - { - var clientPermissions = await PermissionGrantRepository - .GetListAsync(ClientPermissionValueProvider.ProviderName, CurrentClient.Id); - permissions = permissions.Union(clientPermissions); - } foreach (var permissionGroup in permissionGroups) { var groupDto = new PermissionGroupDto diff --git a/vueJs/src/store/modules/permission.ts b/vueJs/src/store/modules/permission.ts index 86b48568b..6922d0d24 100644 --- a/vueJs/src/store/modules/permission.ts +++ b/vueJs/src/store/modules/permission.ts @@ -1,8 +1,8 @@ import { VuexModule, Module, Mutation, Action, getModule } from 'vuex-module-decorators' import { RouteConfig } from 'vue-router' import { asyncRoutes, constantRoutes } from '@/router' -import PermissionService, { PermissionGroup, IPermissionGrant } from '@/api/permission' import store from '@/store' +import { AbpConfigurationModule } from '@/store/modules/abp' const hasPermission = (roles: string[], route: RouteConfig) => { if (route.meta && route.meta.roles) { @@ -50,15 +50,15 @@ class Permission extends VuexModule implements IPermissionState { @Action public async GetPermissions(userId: string) { - const permissions = await PermissionService.getPermissionsByKey('U', userId) const authPermissions = new Array() - permissions.groups.forEach((group: PermissionGroup) => { - group.permissions.forEach((permission: IPermissionGrant) => { - if (permission.isGranted) { - authPermissions.push(permission.name) + const grantedPolicies = AbpConfigurationModule.configuration.auth.grantedPolicies + if (grantedPolicies) { + Object.keys(grantedPolicies).forEach(key => { + if (grantedPolicies[key]) { + authPermissions.push(key) } }) - }) + } if (authPermissions.length === 0) { // 防止没有任何权限无限刷新页面 this.SET_AUTHPERMISSIONS(['guest'])