Я ищу для обеспечения безопасности по методу CrudRepository delete (Integer id) для некоторого объекта o. Я хочу убедиться, что объект, который должен быть удален, был создан человеком, который в настоящее время удаляет объект (или администратор). Я использую @PreAuthorize последовательно как способ авторизации. Для того, чтобы обеспечить метод удаления (Object о) все, что я должен был сделать@ Предотвращение и удаление по ID
@PreAuthorize("(#o.info.creator == authentication.principal.name) or (hasRole('ADMIN'))")
@Override
public void delete(@P("o")Object o);
Однако, для удаления по идентификатору я не смог найти способ проверить полученный автором "против нашего основного имени. Моя оригинальная идея была чем-то вроде строк
@PreAuthorize("(**some Function Getting me the Object(#id)**.info.creator== authentication.principal.name)")
@Override
public void delete(@P("id")Integer id);
Есть ли способ добраться от ИД до объекта до авторизации? Или я должен придерживаться другого подхода
Возможный дубликат [Как использовать пользовательские выражения в Spring Security @ предварительного блокирования средств на/@ PostAuthorize аннотаций] (http://stackoverflow.com/questions/26747452/как к потребительных пользовательских выражений в пружине-безопасности предварительного блокирования средств на-postauthorize-ап) – swinkler