TGViewer
Java Portal | Программирование Java Portal | Программирование @java_iibrary · 11.6K subscribers
Post #1443 2.22K
image_2025-06-02_08-13-46.png1.3 MB
Шпаргалка по аннотациям безопасности Spring Security

@EnableWebSecurity —> Включает поддержку веб-безопасности Spring Security и интеграцию с Spring MVC. Применяется к конфигурационному классу для активации безопасности.

@EnableGlobalMethodSecurity / @EnableMethodSecurity (Spring Security 6+) —> Включает методный уровень безопасности (например, @PreAuthorize, @Secured). @EnableMethodSecurity — новая версия для Spring Security 6+.

@PreAuthorize("expression") —> Проверяет выражение SpEL до выполнения метода. Часто используется для ролевого доступа, например: @PreAuthorize("hasRole('ADMIN')").

@PostAuthorize("expression") —> Похожа на @PreAuthorize, но проверка происходит после выполнения метода. Полезно для фильтрации возвращаемых данных.

@Secured("ROLE_NAME") —> Разрешает доступ к методу только при наличии указанной роли. Менее гибкая, чем @PreAuthorize

@RolesAllowed("ROLE_NAME") —> Аннотация из JSR-250, ограничивает доступ по ролям. Требует включённой опции @EnableMethodSecurity(jsr250Enabled = true)

@AuthenticationPrincipal —> Внедряет текущего аутентифицированного пользователя (Principal или объект UserDetails) в контроллер или метод.

@WithMockUser —> Используется в тестах для эмуляции аутентифицированного пользователя с заданными ролями.

@PermitAll —> Разрешает доступ всем пользователям, включая неаутентифицированных. Требует поддержки JSR-250.

@DenyAll —> Запрещает доступ всем, включая аутентифицированных пользователей. Также входит в JSR-250.

👉 Java Portal
  • 👍 5
  • ❤ 3
  • 🔥 2
More from @java_iibrary
  1. Oct 2, 2026🚀 Spring Boot 4: переименовано свойство преобразования исключений ✅ Было: spring.dao.exce…
  2. Oct 2, 2026Процесс ≠ Поток ≠ Виртуальный поток. Эти понятия часто путают, хотя они решают разные зада…
  3. Oct 1, 2026Когда Java-стектрейс оказался длиннее контекста ИИ 👀 👉 Java Portal
  4. Oct 1, 2026Spring Boot 4: приближение срока истечения SSL-сертификатов больше не меняет статус health…
  5. Sep 30, 2026Почему один и тот же Java-файл .class запускается на Windows, Linux и macOS без перекомпил…
  6. Sep 30, 2026Docker прост, пока всё работает. Но что делать, если контейнер постоянно перезапускается,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →