Định nghĩa middleware ASP.NET Core (phần 2)

Định nghĩa middleware ASP.NET Core (tiếp tục)

Định nghĩa: Sắp xếp này – một đoạn middleware có thể gọi đoạn middleware khác, cái đến lượt nó có thể gọi cái
khác..vv.. – được nhắc đến như là một pipeline. Bạn có thể nghĩ về mỗi đoạn middleware như một phần của ống nước
; khi bạn kết nối tất cả các phần, một yêu cầu chảy qua một đoạn và vào cái tiếp theo.
Một trong những trường hợp sử dụng phổ biến nhất cho middleware là cho các quan tâm cắt chéo về ứng dụng của bạn.
Các khía cạnh này của ứng dụng của bạn cần xảy ra cho mọi yêu cầu, bất kể đường dẫn cụ thể trong yêu cầu hay
tài nguyên được yêu cầu, bao gồm
+ Ghi lại mỗi yêu cầu
+ Thêm các headers an ninh tiêu chuẩn vào trả lời
+ Liên quan một yêu cầu với người dùng phù hợp
+ Thiết lập ngôn ngữ cho yêu cầu hiện hành
Trong mỗi của các ví dụ này, middleware nhận một yêu cầu, điều chỉnh nó, và sau đó truyền yêu cầu lên tới đoạn
tiếp theo của middleware trong pipeline. Các middleware liên tiếp có thể sử dụng các chi tiết thêm vào bởi
middleware trước để xử lí yêu cầu theo cách nào đó. Trong ảnh dưới, ví dụ, middleware xác thực liên quan yêu
cầu với một người dùng. Sau đó middleware cho quyền sử dụng chi tiết này để thẩm định liệu một người dùng có
quyền thực hiện yêu cầu cụ thể đó tới ứng dụng.
mid
Nếu người dùng có quyền, middleware cho phép truyền yêu cầu lên tới endpoint middleware để cho phép nó khởi
tạo một trả lời. Nếu người dùng không có quyền, middleware cho phép có thể đoản mạch pipeline, khởi tạo một
trả lời trực tiếp; nó trả về trả lời tới middleware trước, và endpoint middleware không bao giờ thấy yêu cầu.
Kịch bản này là một ví dụ của mô hình thiết kế chain-of-responsibility.

Chia sẻ