Я пытаюсь настроить безопасность в новом приложении Spring Boot MVC. Я пытаюсь сделать это без конфигурации XML, только Java. В настоящее время мне удалось получить защиту на основе ролей, используя аннотацию @Secured для каждого из моих методов @RequestMapping.Spring Boot MVC неграмотная защита
мне также нужно добавить безопасности на основе объекта, например:
Пользователь был предоставлен доступ к виджету ID 456 и 689, и не в состоянии получить доступ к любой другой виджет. Это явно не то, что может быть достигнуто с помощью обеспечения безопасности на основе ролей, поскольку теоретически может быть неограниченное количество различных виджетов, к которым могут иметь доступ разные пользователи.
Для этого мне нужно было создать новые реализации AccessDecisionVoter и GrantedAuthority, которые определяют, имеет ли пользователь права доступа к виджету.
К сожалению, я не смог определить, как это должно быть реализовано. Я ищу примеры, которые описывают, как настроить безопасность на основе аналогичных требований.
Я смотрел в Pre/PostAuthorize аннотации некоторые, и я должен спросить, есть ли какая-либо причина использовать Обеспеченные аннотацию? Кажется, что PreAuthorize может делать все и больше, чем обеспечен, или я чего-то не хватает? – user2805089
@ user2805089 проверить обновленный ответ – jgr
Для без XML мне также необходимо добавить в мою конфигурацию следующую аннотацию: EnableGlobalMethodSecurity (prePostEnabled = true) – user2805089