
Zaawansowane bezpieczeństwo
Custom authenticators, voters, security expressions, ochrona CSRF, zapobieganie XSS, rate limiting, hardening produkcyjny, błędne konfiguracje JWT/OAuth2
1Który interfejs musi implementować custom authenticator w Symfony 6+?
Który interfejs musi implementować custom authenticator w Symfony 6+?
Odpowiedź
W Symfony 6+ custom authenticatory muszą implementować AuthenticatorInterface z komponentu Security HTTP. Ten interfejs definiuje metody supports(), authenticate(), onAuthenticationSuccess(), onAuthenticationFailure() oraz opcjonalnie createToken(). Zastępuje stary system Guard, który był używany w Symfony 4/5.
2Jaką rolę pełni metoda supports() w custom authenticatorze?
Jaką rolę pełni metoda supports() w custom authenticatorze?
Odpowiedź
Metoda supports() określa, czy authenticator powinien obsłużyć bieżące żądanie. Otrzymuje Request i zwraca wartość logiczną. Jeśli true, wywoływana jest metoda authenticate(), a następnie onAuthenticationSuccess() lub onAuthenticationFailure(). Pozwala to mieć wiele aktywnych authenticatorów na tym samym firewallu, z których każdy obsługuje określony typ uwierzytelniania.
3Co metoda authenticate() custom authenticatora powinna zwrócić w przypadku powodzenia?
Co metoda authenticate() custom authenticatora powinna zwrócić w przypadku powodzenia?
Odpowiedź
Metoda authenticate() musi zwrócić obiekt Passport zawierający UserBadge (identyfikator użytkownika) oraz credentials badge. Passport może również zawierać dodatkowe badge, takie jak CsrfTokenBadge lub RememberMeBadge. Następnie Symfony używa tego Passport do utworzenia tokenu uwierzytelniania i załadowania użytkownika za pośrednictwem UserProvider.
Jak zdefiniować niestandardowy Voter, aby kontrolować dostęp do określonego zasobu?
Która strategia AccessDecisionManager jest zalecana dla aplikacji wymagających ścisłego bezpieczeństwa?
+19 pytań z rozmów
Inne tematy rekrutacyjne Symfony
Nowoczesny PHP (8.1+)
Podstawy Symfony
Routing & Controllers
Twig & Templates
Podstawy Doctrine ORM
Formularze Symfony
Walidacja danych
Dependency Injection & Services
Security & Authentication
Zaawansowany Doctrine
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache i wydajność
Workflow Component
Testing Symfony
Mailer Component
Tłumaczenia i i18n
EasyAdmin Bundle
Architektura Symfony
Wydajność i optymalizacja
Niestandardowe bundle
Microservices z Symfony
Real-time & WebSockets
Deployment & DevOps
Opanuj Symfony na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo