# Keamanan Lanjutan (Symfony) > Custom authenticator, voter, security expression, proteksi CSRF, pencegahan XSS, rate limiting, hardening produksi, kesalahan konfigurasi JWT/OAuth2 - 22 pertanyaan wawancara - Senior - [Pertanyaan Wawancara: Symfony](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara.md) ## 1. Interface mana yang harus diimplementasikan oleh custom authenticator di Symfony 6+? **Jawaban** Di Symfony 6+, custom authenticator harus mengimplementasikan AuthenticatorInterface dari komponen Security HTTP. Interface ini mendefinisikan metode supports(), authenticate(), onAuthenticationSuccess(), onAuthenticationFailure() dan opsional createToken(). Ini menggantikan sistem Guard lama yang digunakan di Symfony 4/5. ## 2. Apa peran metode supports() dalam custom authenticator? **Jawaban** Metode supports() menentukan apakah authenticator harus menangani request saat ini. Metode ini menerima Request dan mengembalikan boolean. Jika true, metode authenticate() diikuti onAuthenticationSuccess() atau onAuthenticationFailure() akan dipanggil. Ini memungkinkan adanya beberapa authenticator aktif pada firewall yang sama, masing-masing menangani tipe autentikasi tertentu. ## 3. Apa yang harus dikembalikan oleh metode authenticate() dari custom authenticator saat berhasil? **Jawaban** Metode authenticate() harus mengembalikan objek Passport yang berisi UserBadge (identifikasi pengguna) dan credentials badge. Passport juga dapat berisi badge tambahan seperti CsrfTokenBadge atau RememberMeBadge. Symfony kemudian menggunakan Passport ini untuk membuat token autentikasi dan memuat pengguna melalui UserProvider. ## 19 pertanyaan lagi tersedia - Bagaimana cara mendefinisikan Voter kustom untuk mengontrol akses ke sumber daya tertentu? - Strategi AccessDecisionManager mana yang direkomendasikan untuk aplikasi yang memerlukan keamanan ketat? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara Symfony lainnya - [PHP Modern (8.1+)](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/php-modern-features.md): 20 pertanyaan, Junior - [Dasar-dasar Symfony](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/symfony-basics.md): 25 pertanyaan, Junior - [Routing & Controllers](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/routing-controllers.md): 20 pertanyaan, Junior - [Twig & Templates](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/twig-templates.md): 20 pertanyaan, Junior - [Dasar-dasar Doctrine ORM](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/doctrine-orm-basics.md): 25 pertanyaan, Junior - [Formulir Symfony](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/forms.md): 22 pertanyaan, Junior - [Validasi Data](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/validation.md): 18 pertanyaan, Junior - [Dependency Injection & Services](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/dependency-injection.md): 24 pertanyaan, Mid-Level - [Security & Authentication](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/security-authentication.md): 26 pertanyaan, Mid-Level - [Doctrine Tingkat Lanjut](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/doctrine-advanced.md): 24 pertanyaan, Mid-Level - [API Platform](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/api-platform.md): 22 pertanyaan, Mid-Level - [Serializer Component](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/serializer.md): 20 pertanyaan, Mid-Level - [Events & Event Subscribers](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/events-subscribers.md): 20 pertanyaan, Mid-Level - [Console & Commands](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/console-commands.md): 18 pertanyaan, Mid-Level - [Messenger Component](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/messenger.md): 22 pertanyaan, Mid-Level - [HTTP Client](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/http-client.md): 18 pertanyaan, Mid-Level - [Cache & Performa](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/cache.md): 20 pertanyaan, Mid-Level - [Workflow Component](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/workflow.md): 18 pertanyaan, Mid-Level - [Testing Symfony](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/testing.md): 22 pertanyaan, Mid-Level - [Mailer Component](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/mailer.md): 16 pertanyaan, Mid-Level - [Terjemahan & i18n](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/translations.md): 16 pertanyaan, Mid-Level - [EasyAdmin Bundle](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/easyadmin.md): 18 pertanyaan, Mid-Level - [Arsitektur Symfony](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/architecture-patterns.md): 24 pertanyaan, Senior - [Performa & Optimasi](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/performance-optimization.md): 22 pertanyaan, Senior - [Custom Bundle](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/custom-bundles.md): 20 pertanyaan, Senior - [Microservices dengan Symfony](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/microservices.md): 22 pertanyaan, Senior - [Real-time & WebSockets](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/real-time.md): 18 pertanyaan, Senior - [Deployment & DevOps](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/deployment-devops.md): 20 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/security-advanced