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()
}