
Розширена безпека
Custom authenticators, voters, security expressions, захист CSRF, запобігання XSS, rate limiting, посилення захисту в продакшені, помилкові конфігурації JWT/OAuth2
1Який інтерфейс повинен реалізувати custom authenticator у Symfony 6+?
Який інтерфейс повинен реалізувати 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() у custom authenticator?
Відповідь
Метод supports() визначає, чи повинен authenticator обробляти поточний запит. Він отримує Request і повертає булеве значення. Якщо true, викликається метод authenticate(), а потім onAuthenticationSuccess() або onAuthenticationFailure(). Це дозволяє мати кілька активних authenticator на одному firewall, кожен з яких обробляє певний тип автентифікації.
3Що повинен повертати метод authenticate() custom authenticator у разі успіху?
Що повинен повертати метод authenticate() custom authenticator у разі успіху?
Відповідь
Метод authenticate() повинен повертати об'єкт Passport, що містить UserBadge (ідентифікатор користувача) та credentials badge. Passport також може містити додаткові badge, такі як CsrfTokenBadge або RememberMeBadge. Потім Symfony використовує цей Passport для створення token автентифікації та завантаження користувача через UserProvider.
Як визначити власний Voter для контролю доступу до конкретного ресурсу?
Яка стратегія AccessDecisionManager рекомендується для застосунків, що потребують суворої безпеки?
+19 питань зі співбесід
Інші теми співбесід Symfony
Сучасний PHP (8.1+)
Основи Symfony
Routing & Controllers
Twig & Templates
Основи Doctrine ORM
Форми Symfony
Валідація даних
Dependency Injection & Services
Security & Authentication
Doctrine для просунутих
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache та продуктивність
Workflow Component
Testing Symfony
Mailer Component
Переклади та i18n
EasyAdmin Bundle
Архітектура Symfony
Продуктивність та оптимізація
Користувацькі бандли
Microservices із Symfony
Real-time & WebSockets
Deployment & DevOps
Опануй Symfony для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно