Symfony

Розширена безпека

Custom authenticators, voters, security expressions, захист CSRF, запобігання XSS, rate limiting, посилення захисту в продакшені, помилкові конфігурації JWT/OAuth2

22 питань зі співбесід·
Senior
1

Який інтерфейс повинен реалізувати custom authenticator у Symfony 6+?

Відповідь

У Symfony 6+ custom authenticator повинні реалізувати AuthenticatorInterface з компонента Security HTTP. Цей інтерфейс визначає методи supports(), authenticate(), onAuthenticationSuccess(), onAuthenticationFailure() та опціонально createToken(). Він замінює стару систему Guard, яка використовувалася в Symfony 4/5.

2

Яка роль методу supports() у custom authenticator?

Відповідь

Метод supports() визначає, чи повинен authenticator обробляти поточний запит. Він отримує Request і повертає булеве значення. Якщо true, викликається метод authenticate(), а потім onAuthenticationSuccess() або onAuthenticationFailure(). Це дозволяє мати кілька активних authenticator на одному firewall, кожен з яких обробляє певний тип автентифікації.

3

Що повинен повертати метод authenticate() custom authenticator у разі успіху?

Відповідь

Метод authenticate() повинен повертати об'єкт Passport, що містить UserBadge (ідентифікатор користувача) та credentials badge. Passport також може містити додаткові badge, такі як CsrfTokenBadge або RememberMeBadge. Потім Symfony використовує цей Passport для створення token автентифікації та завантаження користувача через UserProvider.

4

Як визначити власний Voter для контролю доступу до конкретного ресурсу?

5

Яка стратегія AccessDecisionManager рекомендується для застосунків, що потребують суворої безпеки?

+19 питань зі співбесід

Опануй Symfony для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно