Xóa bài viết
Bạn có chắc chắn muốn xóa bài viết này không ?
Xóa bình luận
Bạn có chắc chắn muốn xóa bình luận này không ?
[Spring boot + Spring Security] Overview
1.Overview and Spring Architecture
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.
2. Workflow
- 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 - 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 objectAuthentication
(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 listAuthentionProvider
sẽ có một thằng chịu trách nhiệm xử lý objectAuthentication
kia. Cụ thể m sẽ có demo trong các bài post sau -
AuthentionProvider
sẽ kết hợp vớiuserDetailsService
của hệ thống để lôi ra các thông tin liên quan đếnUser
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. - 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 ObjectAuthentication
Sẽ được lưu vào trongSecurityContextHolder
của spring. Việc xác thực kết thúc.
3. Components
Như vậy, các bạn cần quan tâm đến các component sau:
-
Filter
-
AuthentionProvider
-
UserDetailService
-
Role
Loạt bài tới m sẽ tập trung xoay quanh các component trên.
Bình luận

{{ comment.user.name }}
Bỏ hay
Hay

Cùng một tác giả

4
0
Bài viết này sẽ hướng dẫn các bạn từng bước xây dựng một ứng dụng java sử dụng spring boot kết hợp với spring data jdbc để lưu trữ và nhận dữ liệu ...

3
0
1. Single Thread 1. Làm một việc tại một thời điểm Không giống như đa số các ngôn ngữ lập trình khác, javascript đơn giản là đơn luồng. Điều này ...

3
0
1. Các cách để xây dựng rest api trong spring Để xây dựng rest api trong spring có thể sử dụng nhiều cách. Phổ biến nhất là 3 cách dưới đây 1. S...
Bài viết liên quan

0
0
Giới thiệu Trong bài hôm nay chúng ta sẽ tìm hiểu cách handle request POST của Spring Boot. Trước đó, bạn nên biết 1. 「Spring Boot 8」Tạo Web He...

2
0
Trong bài viết này, một số hình ảnh hoặc nọi dung có thể bị thiếu do quá trình chế bản. Vui lòng xem nội dung ở blog gốc sau: (Link) (Link), chúng...