From 2cbaec64a5699a63bef89fc7b431ddd5b47e5856 Mon Sep 17 00:00:00 2001 From: cKey <35512826+colinin@users.noreply.github.com> Date: Fri, 16 Oct 2020 09:46:55 +0800 Subject: [PATCH] add role claim management view --- .../IdentityPermissionDefinitionProvider.cs | 4 +- .../LINGYUN/Abp/Identity/Localization/en.json | 5 +- .../Abp/Identity/Localization/zh-Hans.json | 5 +- .../LINGYUN.ApiGateway.Host/event-bus-cap.db | Bin 32768 -> 32768 bytes vueJs/src/api/roles.ts | 37 +++ .../RoleClaimCreateOrUpdateForm.vue | 297 ++++++++++++++++++ .../admin/roles/components/RoleCreateForm.vue | 107 +++++++ .../admin/roles/components/RoleEditForm.vue | 165 ++++++---- vueJs/src/views/admin/roles/index.vue | 91 +++--- .../UserClaimCreateOrUpdateForm.vue | 16 +- vueJs/src/views/admin/users/index.vue | 3 +- 11 files changed, 609 insertions(+), 121 deletions(-) create mode 100644 vueJs/src/views/admin/roles/components/RoleClaimCreateOrUpdateForm.vue create mode 100644 vueJs/src/views/admin/roles/components/RoleCreateForm.vue diff --git a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN/Abp/Identity/IdentityPermissionDefinitionProvider.cs b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN/Abp/Identity/IdentityPermissionDefinitionProvider.cs index d2ce5ddde..cf8641777 100644 --- a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN/Abp/Identity/IdentityPermissionDefinitionProvider.cs +++ b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN/Abp/Identity/IdentityPermissionDefinitionProvider.cs @@ -30,8 +30,8 @@ namespace LINGYUN.Abp.Identity origanizationUnitPermission.AddChild(IdentityPermissions.OrganizationUnits.Create, L("Permission:Create")); origanizationUnitPermission.AddChild(IdentityPermissions.OrganizationUnits.Update, L("Permission:Edit")); origanizationUnitPermission.AddChild(IdentityPermissions.OrganizationUnits.Delete, L("Permission:Delete")); - origanizationUnitPermission.AddChild(IdentityPermissions.OrganizationUnits.ManageRoles, L("Permission:ChangeRoles")); - origanizationUnitPermission.AddChild(IdentityPermissions.OrganizationUnits.ManageUsers, L("Permission:ChangeUsers")); + origanizationUnitPermission.AddChild(IdentityPermissions.OrganizationUnits.ManageRoles, L("Permission:ManageRoles")); + origanizationUnitPermission.AddChild(IdentityPermissions.OrganizationUnits.ManageUsers, L("Permission:ManageUsers")); var identityClaimType = identityGroup.AddPermission(IdentityPermissions.IdentityClaimType.Default, L("Permission:IdentityClaimTypeManagement"), MultiTenancySides.Host); identityClaimType.AddChild(IdentityPermissions.IdentityClaimType.Create, L("Permission:Create"), MultiTenancySides.Host); diff --git a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN/Abp/Identity/Localization/en.json b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN/Abp/Identity/Localization/en.json index 646b6c6df..b0331e51f 100644 --- a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN/Abp/Identity/Localization/en.json +++ b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN/Abp/Identity/Localization/en.json @@ -2,8 +2,8 @@ "culture": "en", "texts": { "Permission:OrganizationUnitManagement": "Organization unit management", - "Permission:ChangeRoles": "Change roles", - "Permission:ChangeUsers": "Change users", + "Permission:ManageRoles": "Management roles", + "Permission:ManageUsers": "Management users", "Permission:ManageClaims": "Management claims", "Permission:ManageOrganizationUnits": "Management organization units", "Permission:IdentityClaimTypeManagement": "Management claim types", @@ -13,6 +13,7 @@ "DisplayName:ClaimType": "Type", "DisplayName:ClaimValue": "Value", "ClaimSubject": "Claim - {0}", + "RoleSubject": "Role - {0}", "AddClaim": "Add claim", "UpdateClaim": "Update claim", "DeleteClaim": "Delete claim", diff --git a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN/Abp/Identity/Localization/zh-Hans.json b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN/Abp/Identity/Localization/zh-Hans.json index 88f98cbe6..7436021f5 100644 --- a/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN/Abp/Identity/Localization/zh-Hans.json +++ b/aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN/Abp/Identity/Localization/zh-Hans.json @@ -2,8 +2,8 @@ "culture": "zh-Hans", "texts": { "Permission:OrganizationUnitManagement": "组织机构管理", - "Permission:ChangeRoles": "更改角色", - "Permission:ChangeUsers": "更改用户", + "Permission:ManageRoles": "管理角色", + "Permission:ManageUsers": "管理用户", "Permission:ManageClaims": "管理声明", "Permission:ManageOrganizationUnits": "管理组织机构", "Permission:IdentityClaimTypeManagement": "管理声明类型", @@ -13,6 +13,7 @@ "DisplayName:ClaimType": "声明类型", "DisplayName:ClaimValue": "声明值", "ClaimSubject": "声明 - {0}", + "RoleSubject": "角色 - {0}", "AddClaim": "添加声明", "UpdateClaim": "变更声明", "DeleteClaim": "删除声明", diff --git a/aspnet-core/services/apigateway/LINGYUN.ApiGateway.Host/event-bus-cap.db b/aspnet-core/services/apigateway/LINGYUN.ApiGateway.Host/event-bus-cap.db index 2d77eb6438ff9f8877b16a3bc013aad67683a1df..1ec0f22f14c88081ef3f1510b0de7d1adb16b876 100644 GIT binary patch delta 259 zcmZo@U}|V!njp;>JWr227sNZ}FeyKd@OyVI4m= Q4>KDh)a9E`>zf7u0O@T*h5!Hn delta 92 zcmV-i0HgnafC7Mk0+1U4QIQ-&0a3AFqz@1T2GIZwv>(_url, IdentityServiceUrl) + } + + public static addRoleClaim(roleId: string, payload: RoleClaimCreateOrUpdate) { + const _url = '/api/identity/roles/claims/' + roleId + return ApiService.Post(_url, payload, IdentityServiceUrl) + } + + public static updateRoleClaim(roleId: string, payload: RoleClaimCreateOrUpdate) { + const _url = '/api/identity/roles/claims/' + roleId + return ApiService.Put(_url, payload, IdentityServiceUrl) + } + + public static deleteRoleClaim(roleId: string, payload: RoleClaimDelete) { + let _url = '/api/identity/roles/claims/' + roleId + _url += '?claimType=' + payload.claimType + _url += '&claimValue=' + payload.claimValue + return ApiService.Delete(_url, IdentityServiceUrl) + } } export class RoleBaseDto { @@ -73,6 +95,7 @@ export class CreateRoleDto extends RoleBaseDto { super() this.isDefault = false this.isPublic = true + this.name = '' } } @@ -89,3 +112,17 @@ export class UpdateRoleDto extends RoleBaseDto { export class ChangeRoleOrganizationUnitDto { organizationUnitIds = new Array() } + +export class RoleClaimCreateOrUpdate { + claimType = '' + claimValue = '' +} + +export class RoleClaimDelete { + claimType = '' + claimValue = '' +} + +export class RoleClaim extends RoleClaimCreateOrUpdate { + id!: string +} diff --git a/vueJs/src/views/admin/roles/components/RoleClaimCreateOrUpdateForm.vue b/vueJs/src/views/admin/roles/components/RoleClaimCreateOrUpdateForm.vue new file mode 100644 index 000000000..48b638471 --- /dev/null +++ b/vueJs/src/views/admin/roles/components/RoleClaimCreateOrUpdateForm.vue @@ -0,0 +1,297 @@ + + + diff --git a/vueJs/src/views/admin/roles/components/RoleCreateForm.vue b/vueJs/src/views/admin/roles/components/RoleCreateForm.vue new file mode 100644 index 000000000..f19e471d3 --- /dev/null +++ b/vueJs/src/views/admin/roles/components/RoleCreateForm.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/vueJs/src/views/admin/roles/components/RoleEditForm.vue b/vueJs/src/views/admin/roles/components/RoleEditForm.vue index e6cac092d..14e94161c 100644 --- a/vueJs/src/views/admin/roles/components/RoleEditForm.vue +++ b/vueJs/src/views/admin/roles/components/RoleEditForm.vue @@ -1,67 +1,79 @@ diff --git a/vueJs/src/views/admin/users/components/UserClaimCreateOrUpdateForm.vue b/vueJs/src/views/admin/users/components/UserClaimCreateOrUpdateForm.vue index 1b0a807ba..d975501ec 100644 --- a/vueJs/src/views/admin/users/components/UserClaimCreateOrUpdateForm.vue +++ b/vueJs/src/views/admin/users/components/UserClaimCreateOrUpdateForm.vue @@ -3,7 +3,7 @@ v-el-draggable-dialog width="800px" :visible="showDialog" - :title="title" + :title="$t('AbpIdentity.ManageClaim')" custom-class="modal-form" :show-close="false" :close-on-click-modal="true" @@ -139,9 +139,6 @@ export default class UserClaimCreateOrUpdateForm extends Vue { @Prop({ default: '' }) private userId!: string - @Prop({ default: '' }) - private title!: string - @Prop({ default: false }) private showDialog!: boolean @@ -202,9 +199,12 @@ export default class UserClaimCreateOrUpdateForm extends Vue { @Watch('userId') private onUserIdChanged() { - if (this.userId && this.showDialog) { - this.handleGetUserClaims() - } + this.handleGetUserClaims() + } + + @Watch('showDialog', { immediate: true }) + private onShowDialogChanged() { + this.handleGetUserClaims() } mounted() { @@ -227,7 +227,7 @@ export default class UserClaimCreateOrUpdateForm extends Vue { } private handleGetUserClaims() { - if (this.userId) { + if (this.userId && this.showDialog) { UserService.getUserClaims(this.userId).then(res => { this.userClaims = res.items }) diff --git a/vueJs/src/views/admin/users/index.vue b/vueJs/src/views/admin/users/index.vue index b8f254bd2..a48e8c534 100644 --- a/vueJs/src/views/admin/users/index.vue +++ b/vueJs/src/views/admin/users/index.vue @@ -134,7 +134,7 @@ :command="{key: 'claim', row}" :disabled="!checkPermission(['AbpIdentity.Users.ManageClaims'])" > - 管理声明 + {{ $t('AbpIdentity.ManageClaim') }}