Я хотел бы использовать SpEL для обработки безопасности на уровне метода.Я столкнулся с проблемой, когда данных, передаваемых методу, недостаточно, чтобы определить, есть ли у пользователя доступ.Вот пример
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
@ResponseStatus(HttpStatus.NO_CONTENT)
@PreAuthorize("@securityService.isAllowedAccessByCurrentUser(#.id)")
public void delete(@PathVariable("id") final Long id) {
service.delete(id);
}
Здесь переменная id является идентификатором некоторого объекта.Чтобы получить идентификатор владельца объекта (то, что я хочу передать в выражении spel), мне нужно сделать что-то вроде:
service.findOne(id).getUser().getId();
Как я могу получить этот идентификатор и использовать его вВыражение SpEL?