Symfony

Zaawansowane bezpieczeństwo

Custom authenticators, voters, security expressions, ochrona CSRF, zapobieganie XSS, rate limiting, hardening produkcyjny, błędne konfiguracje JWT/OAuth2

22 pytań z rozmów·
Senior
1

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.

2

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.

3

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.

4

Jak zdefiniować niestandardowy Voter, aby kontrolować dostęp do określonego zasobu?

5

Która strategia AccessDecisionManager jest zalecana dla aplikacji wymagających ścisłego bezpieczeństwa?

+19 pytań z rozmów

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