jhipster,Java 端的管理员角色标识
jhipster, admin role identification on Java side
最近我开始研究 jhipster angular 应用程序(员工目标应用程序)。默认情况下,我会获取所有用户的条目,因此为了将其限制为当前用户,我已将代码修改为:
在EmployeeTargetsResource.java
对于 @GetMapping("/emp-targets")
我变了
empTargetsRepository.findAll()
到 empTargetsRepository.findByUserIsCurrentUser()
但现在我想根据角色更改它:
如果登录用户是admin
,我想要empTargetsRepository.findAll()
否则empTargetsRepository.findByUserIsCurrentUser()
在Java代码中是否有任何全局变量可用于检查当前登录用户是否为admin?
对于 angular 代码,我可以将 *jhiHasAnyAuthority="'ROLE_ADMIN'"
用于 html。 Java 代码端是否有类似的选项可用。
您可以使用 SecurityUtils.isCurrentUserInRole(AuthoritiesConstants.ADMIN) 如果用户具有 ROLE_ADMIN
权限,它将 return 一个布尔值。
因此您的代码将类似于以下内容:
if (SecurityUtils.isCurrentUserInRole(AuthoritiesConstants.ADMIN)) {
empTargetsRepository.findAll()
} else {
empTargetsRepository.findByUserIsCurrentUser()
}
最近我开始研究 jhipster angular 应用程序(员工目标应用程序)。默认情况下,我会获取所有用户的条目,因此为了将其限制为当前用户,我已将代码修改为:
在EmployeeTargetsResource.java
对于 @GetMapping("/emp-targets")
我变了
empTargetsRepository.findAll()
到 empTargetsRepository.findByUserIsCurrentUser()
但现在我想根据角色更改它:
如果登录用户是admin
,我想要empTargetsRepository.findAll()
否则empTargetsRepository.findByUserIsCurrentUser()
在Java代码中是否有任何全局变量可用于检查当前登录用户是否为admin?
对于 angular 代码,我可以将 *jhiHasAnyAuthority="'ROLE_ADMIN'"
用于 html。 Java 代码端是否有类似的选项可用。
您可以使用 SecurityUtils.isCurrentUserInRole(AuthoritiesConstants.ADMIN) 如果用户具有 ROLE_ADMIN
权限,它将 return 一个布尔值。
因此您的代码将类似于以下内容:
if (SecurityUtils.isCurrentUserInRole(AuthoritiesConstants.ADMIN)) {
empTargetsRepository.findAll()
} else {
empTargetsRepository.findByUserIsCurrentUser()
}