jhipster, идентификация роли администратора на стороне Java - PullRequest
0 голосов
/ 05 апреля 2019

недавно я начал работать над угловым приложением jhipster (приложение для сотрудников).По умолчанию я получаю записи для всех пользователей, поэтому, чтобы ограничить его текущим пользователем, я изменил код на:

В EmployeeTargetsResource.java для @GetMapping("/emp-targets")

Я изменил

empTargetsRepository.findAll() на empTargetsRepository.findByUserIsCurrentUser()

Но теперь я хочу изменить это в зависимости от роли:

, если вошедший в систему пользователь - admin, я хочу иметь empTargetsRepository.findAll()

в противном случае empTargetsRepository.findByUserIsCurrentUser()

Существует ли какая-либо глобальная переменная для проверки, является ли текущий вошедший в систему пользователь администратором в коде Java?

Для углового кода я мог бычтобы использовать *jhiHasAnyAuthority="'ROLE_ADMIN'" для HTML.Есть ли подобная опция, доступная на стороне кода Java.

1 Ответ

3 голосов
/ 05 апреля 2019

Вы можете использовать SecurityUtils.isCurrentUserInRole (AuthoritiesConstants.ADMIN) , который будет возвращать логическое значение, если у пользователя есть полномочия ROLE_ADMIN.

Таким образом, ваш код будет выглядеть примерно так:

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