Можно ограничить URL через SecurityFilterChain и защитить методы через @PreAuthorize после включения @EnableMethodSecurity. Роли должны проверяться на сервере, а не только скрывать элементы интерфейса.
Как защитить контроллер по ролям в Spring Security?
Можно ограничить URL через SecurityFilterChain и защитить методы через @PreAuthorize после включения @EnableMethodSecurity. Роли должны проверяться на сервере, а не только скрывать элементы интерфейса.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Можно ограничить URL через SecurityFilterChain и защитить методы через @PreAuthorize после включения @EnableMethodSecurity. Роли должны проверяться на сервере, а не только скрывать элементы интерфейса.
Для метода подходит @PreAuthorize("hasRole('ADMIN')"): при стандартной настройке проверяется authority ROLE_ADMIN. hasAuthority('ADMIN') проверяет точную строку ADMIN, это другой контракт. Правила URL должны включать безопасное поведение для остальных маршрутов. Методная защита применяется к Spring-managed вызовам через соответствующую инфраструктуру; отдельно проверяют ownership ресурса, если одной роли недостаточно.
Источник: docs.spring.io.