Cơ chế hoạt động của Authentication (Xác thực) trong Spring Security.
NỘI DUNG BÀI VIẾT
Spring Security là gì?
Spring security là một framework của spring được tạo ra nhằm phục vụ việc Authentication(Xác thực) và Authorization (Phần quyền) cho các ứng dụng java. Chủ yếu sẽ là các ứng dụng web và rest service.
Cơ chế hoạt động của Authentication (Xác thực) trong Spring Security.

Cơ chế hoạt động của Authentication
1. Mỗi request vào hệ thống sẽ được trải qua một tập các Filter, tập các filter này được quản lý bởi một springSecurityFilterChain
, cụ thể ở đây là DelegatingFilterProxy
. Bản chất fillterProxy này giữ một tập các filter đã được định nghĩa trước và lần lượt cho request đi qua filter một
2. Với mỗi Filter, sẽ có một authenticationProvider
phù hợp tương ứng. Ví dụ khi filter lọc được username và password từ request đầu vào, nó sẽ tạo ra một object Authentication
(UsernamePasswordAuthenticationToken
) và bắn sang cho AuthentionManager xử lý. Authentication bản chất cũng giống thằng filter, nó quản lý một tập các AuthenticationProvider, mỗi AuthenticationProvider sẽ chịu trách nhiệm cho một phương cách xác thực của hệ thống. Trong list AuthentionProvider
sẽ có một thằng chịu trách nhiệm xử lý object Authentication
kia. Cụ thể m sẽ có demo trong các bài post sau.
3. AuthentionProvider
sẽ kết hợp với userDetailsService
của hệ thống để lôi ra các thông tin liên quan đến User
bao gồm các thông tin cơ bản và thông tin mang tính phần quyền của user. Các thông tin này được gói gọn lại trong một cài đặt cụ thể của UserDetail.
4. Với dữ liệu có được từ userDetailsService
, AuthenticationProvider
tiến hành xác thực với dữ liệu đầu vào từ request. Nếu việc Xác thực thành công, Một Object Authentication
Sẽ được lưu vào trong SecurityContextHolder
của spring. Việc xác thực kết thúc.
Tham khảo: https://kipalog.com
Leave a Reply