❓ Вопрос
Опишите, как настроить ограничение доступа к конкретным эндпоинтам REST API с помощью аннотаций @PreAuthorize или @Secured в Spring. Приведите пример выражения для роли и дополнительные условия доступа.
✅ Ответ
Для ограничения доступа к REST API в Spring используются аннотации @PreAuthorize или @Secured, которые применяются к методам контроллеров или сервисов. @PreAuthorize позволяет задавать сложные выражения на языке SpEL, например '@PreAuthorize("hasRole('ADMIN') and #userId == authentication.principal.id")' ограничит доступ по роли и дополнительному условию. @Secured поддерживает упрощённый синтаксис с перечислением ролей, например '@Secured("ROLE_ADMIN")'. Важно, чтобы включена поддержка методной безопасности через @EnableGlobalMethodSecurity.
#lexicon #собеседование #java #junior #spring #security
Опишите, как настроить ограничение доступа к конкретным эндпоинтам REST API с помощью аннотаций @PreAuthorize или @Secured в Spring. Приведите пример выражения для роли и дополнительные условия доступа.
✅ Ответ
Для ограничения доступа к REST API в Spring используются аннотации @PreAuthorize или @Secured, которые применяются к методам контроллеров или сервисов. @PreAuthorize позволяет задавать сложные выражения на языке SpEL, например '@PreAuthorize("hasRole('ADMIN') and #userId == authentication.principal.id")' ограничит доступ по роли и дополнительному условию. @Secured поддерживает упрощённый синтаксис с перечислением ролей, например '@Secured("ROLE_ADMIN")'. Важно, чтобы включена поддержка методной безопасности через @EnableGlobalMethodSecurity.
#lexicon #собеседование #java #junior #spring #security
❓ Вопрос
Какие HTTP-заголовки рекомендуете использовать для защиты API при аутентификации и авторизации, и как их правильно настраивать на сервере?
✅ Ответ
Для защиты API при аутентификации и авторизации обычно используются заголовки Authorization с токенами типа Bearer, содержащими JWT или другие схемы аутентификации. Важно правильно настроить CORS-заголовки (Access-Control-Allow-Origin, Access-Control-Allow-Headers) для контроля доступа из браузера. Также стоит применять заголовки безопасности, такие как Strict-Transport-Security для принудительного использования HTTPS и Content-Security-Policy для ограничения источников контента. На сервере необходимо валидировать и парсить заголовки, обеспечивая корректную проверку полномочий и защиту от подделки запросов.
#lexicon #собеседование #java #junior #backend #security
Какие HTTP-заголовки рекомендуете использовать для защиты API при аутентификации и авторизации, и как их правильно настраивать на сервере?
✅ Ответ
Для защиты API при аутентификации и авторизации обычно используются заголовки Authorization с токенами типа Bearer, содержащими JWT или другие схемы аутентификации. Важно правильно настроить CORS-заголовки (Access-Control-Allow-Origin, Access-Control-Allow-Headers) для контроля доступа из браузера. Также стоит применять заголовки безопасности, такие как Strict-Transport-Security для принудительного использования HTTPS и Content-Security-Policy для ограничения источников контента. На сервере необходимо валидировать и парсить заголовки, обеспечивая корректную проверку полномочий и защиту от подделки запросов.
#lexicon #собеседование #java #junior #backend #security