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