【问题标题】:Allowing only 1 role per user using Asp.Net Boilerplate 5.5.0.0使用 Asp.Net Boilerplate 5.5.0.0 仅允许每个用户 1 个角色
【发布时间】:2020-11-30 21:41:16
【问题描述】:

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

【问题讨论】:

    标签: angular aspnetboilerplate


    【解决方案1】:

    好的,这是一个相当容易解决的问题。我将 更改为 > 并给它一个 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)"
    />
    

    我希望这将帮助任何寻求这种修复的人。

    【讨论】:

    • 我确实注意到了一件事,如果您希望进行此更改;如果您已经分配了多个角色并且您进行了这些更改,您需要进入数据库并删除所有分配给用户的角色,除了您希望保持分配的角色,或者您可以删除用户并添加它以适当的角色返回。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多