Symfony

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

22 câu hỏi phỏng vấn·
Senior
1

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.

2

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ể.

3

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.

4

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ể?

5

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

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í