jhipster,Java端的管理员角色标识

时间:2019-04-05 12:50:31

标签: java spring spring-data-jpa spring-data jhipster

最近,我开始研究jhipster角度应用程序(员工目标应用程序)。默认情况下,我会获取所有用户的条目,因此将其限制为当前用户,我将代码修改为:

EmployeeTargetsResource.java中 为@GetMapping("/emp-targets")

我已经改变

empTargetsRepository.findAll()empTargetsRepository.findByUserIsCurrentUser()

但是现在我想根据角色来更改它:

如果登录的用户是admin,我想拥有empTargetsRepository.findAll()

否则empTargetsRepository.findByUserIsCurrentUser()

是否有任何全局变量可用于检查当前登录用户是否为Java代码中的admin?

对于角度代码,我可以使用*jhiHasAnyAuthority="'ROLE_ADMIN'" for html。 Java代码端是否有类似的可用选项。

1 个答案:

答案 0 :(得分:3)

您可以使用SecurityUtils.isCurrentUserInRole(AuthoritiesConstants.ADMIN),如果用户具有ROLE_ADMIN权限,它将返回一个布尔值。

因此您的代码应类似于以下内容:

if (SecurityUtils.isCurrentUserInRole(AuthoritiesConstants.ADMIN)) {
    empTargetsRepository.findAll()
} else {
    empTargetsRepository.findByUserIsCurrentUser()
}