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 2d77eb643..1ec0f22f1 100644 Binary files a/aspnet-core/services/apigateway/LINGYUN.ApiGateway.Host/event-bus-cap.db and b/aspnet-core/services/apigateway/LINGYUN.ApiGateway.Host/event-bus-cap.db differ diff --git a/vueJs/src/api/roles.ts b/vueJs/src/api/roles.ts index c4911af75..a69cb931b 100644 --- a/vueJs/src/api/roles.ts +++ b/vueJs/src/api/roles.ts @@ -50,6 +50,28 @@ export default class RoleService { _url += id return ApiService.Delete(_url, IdentityServiceUrl) } + + public static getRoleClaims(roleId: string) { + const _url = '/api/identity/roles/claims/' + roleId + return ApiService.Get>(_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') }}