JHipster - *jhiHasAnyAuthority 指令 - 当用户时显示一件事,当管理员时显示另一件事

JHipster - *jhiHasAnyAuthority directive - Display one thing when user and another thing when admin

目标

根据用户类型显示不同的布局。

尝试

我使用了 jhi 指令:

<span *jhiHasAnyAuthority="'ROLE_USER'"> User </span>
<span *jhiHasAnyAuthority="'ROLE_ADMIN'"> Admin </span>

问题

当我用用户登录时它起作用,因为它的角色只有 ROLE_USER。

然而,当我使用管理员登录时,由于管理员有两个角色 ROLE_USER 和 ROLE_ADMIN,我希望仅在用户 HMI 中显示的元素是也出现在管理 HMI 中。

请问如何绕过这个问题?

谢谢,

曼努埃拉

您可以使用 ngSwitchngSwitchCase 指令,例如 navbar.component.html 使用组件中定义的条件,请参阅 https://angular.io/api/common/NgSwitch

或者,您可以查看实现 jhiHasNotAuthority 指令的拉取请求 https://github.com/jhipster/generator-jhipster/pull/8371 它尚未合并到 JHipster 中,但它可以提供帮助。

此外,您可以在此处找到包含更多详细信息的更新问题: