jhipster 应用程序中的 has-any-authorithy 指令
has-any-authorithy directive in jhipster application
我在我的 jhipster 应用程序中创建了一个新角色 ROLE_SUPERUSER。我希望特定的导航栏菜单仅对管理员和我的新用户可见。
我尝试使用 authority.directive.js 中给出的 has-any-authorithy,但它不起作用。
我在 HTML 中使用它,就像
有任何权限="['ROLE_ADMIN','ROLE_SUPERUSER']"
我错过了什么吗?
代码说:
authorities = attrs.hasAnyAuthority.replace(/\s+/g, '').split(',');
因此指令似乎需要一个字符串而不是数组。
试试这个:
has-any-authority="ROLE_ADMIN, ROLE_SUPERUSER"
有更好的方法来做到这一点。您只能为该指令和 return 一个 "joined" 数组创建服务,如下所示:
您服务中的代码:
this.feature_1 = {
access: [ROLES.ROLE_ADMIN, ROLES.ROLE_SUPERUSER].join()
};
ROLES
是一个常量,是 app.constants.js
中定义的应用程序角色数组。
在您的模板中:
has-any-roles="{{accessService.feature_1.access}}"
这样做,如果你想改变访问权限,你只需要修改 accessService
在 .html 中你可以使用这个:
has-any-role="ROLE_ADMIN,ROLE_USER"
2016版本应该是:
has-any-authority="ROLE_ADMIN,ROLE_USER"
现在 2017 年是:
<a *jhiHasAnyAuthority="['ROLE_ADMIN', 'ROLE_USER']">Test</a>
还有一点要补充的是,逗号分隔的权限之间不应该有 space,它在“,”之后的 space 对我不起作用。因为它认为 space 也是权限字符串的一部分:
> has-any-authority="ROLE_ADMIN, ROLE_USER"
> has-any-authority="ROLE_ADMIN,ROLE_USER"
第一个不行,第二个可以。
现在到 2020 年底,我遇到了同样的问题,以限制具有多个权限的字段!
<div *jhiHasAnyAuthority="['ROLE_ADMIN','ROLE_SUPERUSER']"> And this worked for me! </div>
我在我的 jhipster 应用程序中创建了一个新角色 ROLE_SUPERUSER。我希望特定的导航栏菜单仅对管理员和我的新用户可见。 我尝试使用 authority.directive.js 中给出的 has-any-authorithy,但它不起作用。
我在 HTML 中使用它,就像
有任何权限="['ROLE_ADMIN','ROLE_SUPERUSER']"
我错过了什么吗?
代码说:
authorities = attrs.hasAnyAuthority.replace(/\s+/g, '').split(',');
因此指令似乎需要一个字符串而不是数组。
试试这个:
has-any-authority="ROLE_ADMIN, ROLE_SUPERUSER"
有更好的方法来做到这一点。您只能为该指令和 return 一个 "joined" 数组创建服务,如下所示:
您服务中的代码:
this.feature_1 = {
access: [ROLES.ROLE_ADMIN, ROLES.ROLE_SUPERUSER].join()
};
ROLES
是一个常量,是 app.constants.js
中定义的应用程序角色数组。
在您的模板中:
has-any-roles="{{accessService.feature_1.access}}"
这样做,如果你想改变访问权限,你只需要修改 accessService
在 .html 中你可以使用这个:
has-any-role="ROLE_ADMIN,ROLE_USER"
2016版本应该是:
has-any-authority="ROLE_ADMIN,ROLE_USER"
现在 2017 年是:
<a *jhiHasAnyAuthority="['ROLE_ADMIN', 'ROLE_USER']">Test</a>
还有一点要补充的是,逗号分隔的权限之间不应该有 space,它在“,”之后的 space 对我不起作用。因为它认为 space 也是权限字符串的一部分:
> has-any-authority="ROLE_ADMIN, ROLE_USER"
> has-any-authority="ROLE_ADMIN,ROLE_USER"
第一个不行,第二个可以。
现在到 2020 年底,我遇到了同样的问题,以限制具有多个权限的字段!
<div *jhiHasAnyAuthority="['ROLE_ADMIN','ROLE_SUPERUSER']"> And this worked for me! </div>