使用 Asp.Net Boilerplate 5.5.0.0 仅允许每个用户 1 个角色

Allowing only 1 role per user using Asp.Net Boilerplate 5.5.0.0

我正在使用 Asp.Net 样板(ABP 零)来管理多租户环境中的用户。我在 Angular 应用程序中创建了新角色,并为这些角色创建了权限(添加到 .net 核心后端代码中)。我能够 select 角色和所有权限按设计工作。但是,在 Angular 前端面板中,我只想允许管理员将“1”角色分配给用户,而不是能够从显示每个角色的复选框中单击多个角色(参见我的屏幕截图).有人可以说明需要在应用程序代码中更改哪些内容才能完成此操作吗?我只想允许 select 编辑 1 个角色。如果有人对 ABP 代码有足够的了解并向我展示如何完成此操作,我将不胜感激。谢谢!

好的,这是一个相当简单的修复。我将 更改为 > 并给它一个 name="role_" 属性。这解决了问题,因为“名称”属性会将选择设置为“组”。

此更改发生在以下 ABP 文件中:

- app/users/edit-user-dialog.component.html:

<input
    name="role_"
    type="radio"
    class="custom-control-input"
    [id]="'role_' + i"
    [checked]="isRoleChecked(role.normalizedName)"
    (change)="onRoleChange(role, $event)" 
    [disabled]="disableRoleCheckBoxes"
/>

- app/users/create-user-dialog.component.html:

<input
   name="role_"
   type="radio"
   class="custom-control-input"
   [id]="'role_' + i"
   [checked]="isRoleChecked(role.normalizedName)"
   (change)="onRoleChange(role, $event)"
/>

我希望这会帮助任何正在寻找此类修复的人。