
Bảo mật nâng cao
Custom authenticator, voter, security expression, bảo vệ CSRF, ngăn chặn XSS, rate limiting, gia cố môi trường production, cấu hình sai JWT/OAuth2
1Trong Symfony 6+, một custom authenticator phải triển khai interface nào?
Trong Symfony 6+, một custom authenticator phải triển khai interface nào?
Câu trả lời
Trong Symfony 6+, các custom authenticator phải triển khai AuthenticatorInterface từ component Security HTTP. Interface này định nghĩa các phương thức supports(), authenticate(), onAuthenticationSuccess(), onAuthenticationFailure() và tùy chọn createToken(). Nó thay thế hệ thống Guard cũ được sử dụng trong Symfony 4/5.
2Vai trò của phương thức supports() trong một custom authenticator là gì?
Vai trò của phương thức supports() trong một custom authenticator là gì?
Câu trả lời
Phương thức supports() xác định xem authenticator có nên xử lý request hiện tại hay không. Nó nhận Request và trả về một giá trị boolean. Nếu là true, phương thức authenticate() sẽ được gọi, theo sau là onAuthenticationSuccess() hoặc onAuthenticationFailure(). Điều này cho phép có nhiều authenticator hoạt động trên cùng một firewall, mỗi cái xử lý một loại xác thực cụ thể.
3Phương thức authenticate() của một custom authenticator nên trả về gì khi thành công?
Phương thức authenticate() của một custom authenticator nên trả về gì khi thành công?
Câu trả lời
Phương thức authenticate() phải trả về một đối tượng Passport chứa một UserBadge (định danh người dùng) và các credentials badge. Passport cũng có thể chứa các badge bổ sung như CsrfTokenBadge hoặc RememberMeBadge. Sau đó Symfony sử dụng Passport này để tạo token xác thực và tải người dùng thông qua UserProvider.
Làm thế nào để định nghĩa một Voter tùy chỉnh nhằm kiểm soát quyền truy cập vào một tài nguyên cụ thể?
Chiến lược AccessDecisionManager nào được khuyến nghị cho các ứng dụng yêu cầu bảo mật nghiêm ngặt?
+19 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Symfony khác
PHP Hiện Đại (8.1+)
Kiến thức cơ bản về Symfony
Routing & Controllers
Twig & Templates
Kiến thức cơ bản về Doctrine ORM
Biểu mẫu Symfony
Xác thực dữ liệu
Dependency Injection & Services
Security & Authentication
Doctrine Nâng cao
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache & Hiệu năng
Workflow Component
Testing Symfony
Mailer Component
Bản dịch & i18n
EasyAdmin Bundle
Kiến trúc Symfony
Hiệu năng & Tối ưu hóa
Custom Bundle
Microservices với Symfony
Real-time & WebSockets
Deployment & DevOps
Nắm vững Symfony cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí