#java #authorization
#java #авторизация
Вопрос:
Я разрабатываю приложение Spring Boot. И у меня есть некоторые проверки разрешений в этой программе, которые проверяются в методах контроллера. Для примера есть несколько методов проверки, чтобы проверить, есть ли какие-либо повторяющиеся записи, если этот вошедший в систему пользователь является участником и так далее. Итак, я подумал, что мне нужно двигаться дальше @PreAuthorize
. Итак, как я могу создать пользовательские методы для выполнения этих повторяющихся проверок и проверок членов и использовать их через @PreAuthorize
. Я знаю, что проверка дубликатов может быть выполнена в любом другом месте, но мне лично нужно использовать @PreAuthorize
. Итак, кто-нибудь может мне помочь? Я действительно ценю это.
Ответ №1:
Вы можете сделать это, используя пользовательское выражение с помощью @PreAuthorise
@PreAuthorize("isDuplicate(#id)")
@GetMapping("/organizations/{id}")
@ResponseBody
public Organization findOrgById(@PathVariable long id) {
return organizationRepository.findOne(id);
}
public boolean isDuplicate(Long OrganizationId) {
// add your logic here to check duplicates or any validation
}
обратитесь https://www.baeldung.com/spring-security-create-new-custom-security-expression для получения дополнительной информации
Комментарии:
1. Большое вам спасибо за ответ, а также за ваше время.