Spring Boot

Cơ bản về Spring Security

Spring Security, xác thực, phân quyền, SecurityFilterChain, UserDetailsService, PasswordEncoder

25 câu hỏi phỏng vấn·
Mid-Level
1

Spring Security là gì?

Câu trả lời

Spring Security là một framework bảo mật cho các ứng dụng Spring, cung cấp các tính năng xác thực và phân quyền. Nó bảo vệ ứng dụng khỏi các cuộc tấn công phổ biến (CSRF, XSS, session fixation) và cung cấp khả năng tích hợp với nhiều cơ chế xác thực khác nhau (form login, HTTP Basic, OAuth2, JWT). Framework sử dụng một chuỗi filter (Security Filter Chain) để chặn và xử lý các request HTTP trước khi chúng đến controller.

2

Sự khác biệt giữa xác thực và phân quyền trong Spring Security là gì?

Câu trả lời

Xác thực kiểm tra danh tính của người dùng (bạn là ai?), thường thông qua username/password, trong khi phân quyền kiểm tra các quyền (bạn được làm gì?). Xác thực diễn ra trước và tạo ra một SecurityContext chứa thông tin người dùng. Sau đó phân quyền sử dụng thông tin này để quyết định xem người dùng có thể truy cập một tài nguyên cụ thể hay không. Ví dụ, một người dùng có thể được xác thực thành công nhưng không được phân quyền truy cập /admin nếu vai trò của họ là USER chứ không phải ADMIN.

3

SecurityContext trong Spring Security là gì?

Câu trả lời

SecurityContext là một đối tượng chứa thông tin bảo mật của người dùng hiện đang được xác thực, chủ yếu là đối tượng Authentication. Nó được lưu trữ trong SecurityContextHolder và có thể truy cập trong suốt quá trình xử lý yêu cầu. Sau khi xác thực thành công, Spring Security tạo ra một SecurityContext chứa một Authentication với các chi tiết của người dùng (username, authorities, credentials). Bối cảnh này cho phép ứng dụng kiểm tra người dùng hiện tại là ai và họ có những quyền gì.

4

SecurityContextHolder lưu trữ SecurityContext theo mặc định như thế nào?

5

Vai trò của giao diện UserDetails trong Spring Security là gì?

+22 câu hỏi phỏng vấn

Các chủ đề phỏng vấn Spring Boot khác

Nắm vững Spring Boot 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í