Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Advanced .NET FullStack: Multi-Tenant Applications (NEW)

.NET FullStack Nâng Cao: Ứng Dụng Đa Người Dùng (Multi-Tenant) (MỚI)

.NET FullStack Nâng Cao: Ứng Dụng Đa Người Dùng (Multi-Tenant) (MỚI)

Phát Triển .NET Web APIs FullStack Đa Người Dùng (MultiTenant) với Blazor Webassembly

4.7
(91 đánh giá)
945 học viên
Giảng viên
Junior Matlou
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
79.000đ 1.119.000đ -93%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
41.0 giờ video
495 bài giảng
1 bài quiz
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 07/06/2026

Bạn sẽ học được gì

.NET 8: Tìm hiểu các tính năng và cải tiến mới nhất trong .NET 8, bao gồm primary constructors, cải tiến ngôn ngữ và các API mới.
Hiểu nguyên tắc và thực hành tốt nhất để thiết kế các giải pháp kiến trúc sạch, bao gồm tách biệt mối quan tâm, đảo ngược phụ thuộc và phân lớp.
Học cách triển khai hỗ trợ đa người dùng (multi-tenancy) bằng thư viện Finbuckle, cho phép xây dựng ứng dụng phục vụ nhiều người dùng với dữ liệu được cô lập.
Tìm hiểu các chiến lược khác nhau để quản lý người dùng, bao gồm phương pháp multi-database và shared database.
Kích Hoạt / Vô Hiệu Hóa Người Dùng Theo Nhu Cầu: Học cách kích hoạt hoặc vô hiệu hóa người dùng một cách linh hoạt dựa trên nhu cầu.
Nâng Cấp Gói Dịch Vụ Cho Người Dùng - Thêm Năm/Tháng Hiệu Lực: Học cách triển khai quản lý gói dịch vụ cho người dùng.
AspNetIdentity cho quản lý người dùng: Học cách tích hợp và sử dụng ASP.NET Core Identity để quản lý xác thực, ủy quyền người dùng.
Jason Web Token (JWT): Tìm hiểu về JSON Web Tokens (JWT) và cách triển khai cơ chế xác thực, ủy quyền an toàn bằng JWT.
Ủy quyền dựa trên quyền (Permission-based): Học cách triển khai ủy quyền chi tiết, dựa trên quyền trong ứng dụng, kiểm soát quyền truy cập tài nguyên.
Global response wrapper: Học cách triển khai global response wrapper để chuẩn hóa và tùy chỉnh phản hồi API trên toàn bộ ứng dụng.
Mẫu CQRS với MediatR: Hiểu mẫu Command Query Responsibility Segregation (CQRS) và học cách triển khai nó bằng MediatR.
Học cách thực hiện xác thực dữ liệu bằng Fluent Validation, bao gồm quy tắc xác thực, bộ xác thực tùy chỉnh và tích hợp với ASP.NET Core.
Tìm hiểu cú pháp primary constructor được giới thiệu trong C# 9, cho phép viết code sạch và ngắn gọn hơn để khởi tạo thuộc tính đối tượng.
Học kỹ thuật nâng cao để tùy chỉnh và mở rộng Swagger UI, tạo tài liệu API toàn diện và thân thiện cho ứng dụng .NET Core.
Và còn nhiều hơn nữa...

Yêu cầu

Kiến thức cơ bản về Phát triển .NET Web Apis
Ngôn ngữ lập trình C#
Visual Studio 2022
Visual Studio Code
Microsoft SQL Server

Đối tượng phù hợp

Người mới bắt đầu muốn tìm hiểu cách triển khai ứng dụng web đa người dùng.
Lập trình viên cấp Junior muốn biết cách triển khai ứng dụng đa người dùng tốt nhất trong ứng dụng web .NET.
Lập trình viên cấp Senior muốn triển khai ứng dụng đa người dùng và kiểm soát hoàn toàn bảo mật ứng dụng, tự tin rằng giải pháp của họ an toàn.
Kiến trúc sư muốn khám phá các cách khác nhau để triển khai ứng dụng đa người dùng an toàn.

Nội dung khóa học

27 phần • 495 bài giảng
1 Giới thiệu
2 Những gì chúng ta sẽ phát triển - API
3 Nội dung tiếp theo
4 Những gì chúng ta sẽ phát triển - Frontend (Blazor Webassembly)
5 Những gì bạn cần để theo dõi
1 Tạo Giải pháp Kiến trúc Sạch (Clean Architecture)
2 Xử lý Thuộc tính Nullable
3 Tổng quan Trách nhiệm Dự án
4 Định nghĩa Thực thể School
5 Cài đặt các gói (Packages)
6 Định nghĩa Thực thể Tenant
7 Tenant Db Context
8 Đưa Multi-tenancy vào Dependency Injection
9 Hằng số về Tenancy
10 Đưa Multi-tenancy vào Container Dependency Injection cuối cùng
11 Application User - IdentityUser
12 Application Role và Role Claim
13 Base Db Context - Các mô hình Identity
14 Base Db Context - Cấu hình sử dụng cơ sở dữ liệu Tenant
15 Base Db Context - Cấu hình sử dụng cơ sở dữ liệu Tenant (Thuộc tính TenantInfo)
16 Application Db Context - Định nghĩa và DI
17 IEntity Type Configuration - Các bảng AspNetCore Identity
18 Áp dụng Cấu hình Từ Assembly
19 Chuỗi kết nối (Connection Strings)
20 Di chuyển (Migration) Tenant Db
21 Di chuyển (Migration) Application Db Context
1 Hằng số Hành động (Action) của School
2 Hằng số Tính năng (Feature) của School
3 Hằng số Quyền (Permission) của School
4 Quyền của School - Tenants
5 Quyền của School - Identity và School
6 Quyền của School - Bộ lọc (Filters)
7 Hằng số Vai trò (Role)
8 Hằng số Claim
9 Bao gồm Nhóm Claim (Claim Group Inclusion)
1 Khởi tạo Cơ sở dữ liệu - Migrations
2 Khởi tạo Vai trò Mặc định - Hoàn tất
3 Khởi tạo Vai trò Mặc định
4 Gán Quyền cho Vai trò - Logic
5 Gán Quyền cho Vai trò - Vai trò Cụ thể
6 Khởi tạo Người dùng Admin - Logic
7 Gán Người dùng vào Vai trò Admin
8 Tenant Db Seeder - Định nghĩa
9 Logic Khởi tạo Cơ sở dữ liệu với Tenant
10 Khởi tạo Application Db Cho Tenant
11 Đưa Database Seeder vào Dependency Injection
12 Đưa Identity Service vào Dependency Injection
13 Kiểm tra Database Seeder - Thành công
1 Định nghĩa Ngoại lệ Unauthorized
2 Thêm Ngoại lệ Tùy chỉnh - Định nghĩa
3 Giao diện Response Wrapper - Định nghĩa
4 Response Wrapper Không Generic - Triển khai Thất bại (Failure)
5 Response Wrapper Không Generic - Triển khai Thất bại (Nạp chồng Hàm)
6 Response Wrapper Không Generic - Triển khai Thất bại (Nạp chồng Hàm)
7 Response Wrapper Không Generic - Triển khai Thành công (Success) hoàn tất
8 Response Wrapper Generic - Định nghĩa và Triển khai
1 Yêu cầu Quyền (Permission Requirement) - Định nghĩa
2 Nhà cung cấp Chính sách Quyền (Permission Policy Provider) - Định nghĩa
3 Bộ xử lý Ủy quyền Quyền (Permission Authorization Handler) - Định nghĩa
4 Đưa Permission Base Auth vào Dependency Injection
1 Các mô hình Yêu cầu và Phản hồi Token
2 Mô hình Yêu cầu Refresh Token
3 Định nghĩa Giao diện Token Service
4 TokenService - Triển khai (Các phụ thuộc)
5 TokenService - Triển khai Đăng nhập (Xác thực)
6 TokenService - Triển khai Đăng nhập (Xác thực Hết hạn Gói Tenant)
7 Triển khai Đầy đủ Đăng nhập
8 Tạo Token - Bao gồm Claims
9 Các phần mở rộng Claims Principal
10 Refresh Token - Triển khai hoàn tất
11 Tái cấu trúc mã - Cấu hình
12 Tái cấu trúc mã - Đưa Cấu hình vào Dependency Injection
13 Thêm Xác thực Jwt vào Dependency Injection phần 1
14 Thêm Xác thực Jwt vào Dependency Injection phần 2
15 Thêm Xác thực Jwt vào Dependency Injection phần 3
16 Tenant Header như một Thuộc tính (Attribute)
17 Tenant Header - Nó sẽ như thế nào
1 Cài đặt Swagger
2 Bộ xử lý Thuộc tính Tiêu đề Swagger (Swagger Header Attribute Processor)
3 Bộ xử lý Xác thực Toàn cục Swagger (Swagger Global Auth Processor)
4 Thêm Tài liệu Open Api vào Dependency Injection
5 Sử dụng Middleware Tài liệu Open Api
6 Dọn dẹp Cấu hình Mặc định
7 Thuộc tính Authorize
8 Kiểm tra API - POST Thuộc tính Authorize
1 Cài đặt các Gói (Packages)
2 Đưa MediatR và FluentValidation vào Dependency Injection
3 Truy vấn Get Token
4 Truy vấn Get Refresh Token
5 Base Api Controller
6 Điểm cuối Đăng nhập - Get Token
7 Điểm cuối Refresh Token
8 Bao gồm quyền cho Refresh token
9 Kiểm tra Điểm cuối Đăng nhập
10 Kiểm tra Truy cập Điểm cuối Được bảo vệ
11 Ngoại lệ Token Hết hạn - Vấn đề và Giải pháp
12 Middleware Xử lý Lỗi
13 Sửa lỗi mã Middleware xử lý lỗi
14 Kiểm tra Middleware Xử lý Lỗi
1 Các mô hình Yêu cầu và Phản hồi Tenant
2 Dịch vụ Tenants - Định nghĩa
3 Lệnh Tạo Tenant
4 Lệnh Kích hoạt Tenant
5 Lệnh Vô hiệu hóa Tenant
6 Lệnh Cập nhật Gói dịch vụ Tenant
7 Truy vấn Lấy Tenant Theo Id
8 Truy vấn Lấy Tất cả Tenants
9 Điểm cuối Tạo Tenant
10 Tất cả các Điểm cuối Tenants
11 Triển khai Dịch vụ Tenant - Các phụ thuộc
12 Triển khai Kích hoạt
13 Triển khai Tạo Tenant
14 Triển khai Vô hiệu hóa và Lấy Tenant Theo Id
15 Triển khai Lấy Tất cả Tenants và Cập nhật Gói dịch vụ
16 Đưa Dịch vụ Tenant vào Dependency Injection
17 Kiểm tra Tạo Tenant - Cơ sở dữ liệu dùng chung (Shared database)
18 Kiểm tra Role Claims của Tenant mới
19 Kiểm tra Truy cập Người dùng của Tenant mới
20 Gieo dữ liệu Người dùng Admin của Tenant với giá trị chỉ định
21 Kiểm tra Cơ sở dữ liệu Riêng biệt của Tenant
22 Kiểm tra Người dùng Tenant
1 Các mô hình Yêu cầu và Phản hồi School
2 Định nghĩa Dịch vụ School
3 Triển khai Dịch vụ School - Hoàn tất
4 Lệnh Tạo School
5 Lệnh Cập nhật School
6 Lệnh Xóa School
7 Truy vấn Lấy School Theo Id
8 Truy vấn Lấy School Theo Tên
9 Truy vấn Lấy Tất cả Schools
10 Chuẩn bị FluentValidation
11 Bộ xác thực Yêu cầu Tạo School
12 Bộ xác thực Lệnh Tạo School
13 Bộ xác thực Yêu cầu Cập nhật School
14 Bộ xác thực Lệnh Cập nhật School
15 Điểm cuối Tạo School
16 Các điểm cuối Cập nhật và xóa school
17 Các điểm cuối GET của School
1 Hành vi Pipeline Xác thực phần 1
2 Hành vi Pipeline Xác thực phần 2
3 Hành vi Pipeline Xác thực - Cách thức hoạt động (kiểm tra)
4 Hành vi Pipeline Xác thực - Cách thức nên hoạt động (kiểm tra)
1 Các mô hình Vai trò (Role)
2 Mô hình Yêu cầu Cập nhật Quyền Vai trò
3 Định nghĩa giao diện Dịch vụ Vai trò
4 Triển khai Dịch vụ Vai trò - Các phụ thuộc
5 Triển khai Tạo Vai trò và Trình trợ giúp Mô tả Lỗi IdentityResult
6 Triển khai Xóa vai trò - Không phải vai trò mặc định
7 Triển khai Xóa vai trò - Không phải vai trò hiện đang được gán
8 Triển khai Kiểm tra vai trò tồn tại và Lấy tất cả vai trò
9 Triển khai Lấy vai trò Theo Id
10 Triển khai Lấy vai trò với Quyền
11 Triển khai Cập nhật vai trò
12 Triển khai Cập nhật Quyền Vai trò - Không phải vai trò Admin
13 Cập nhật Quyền Vai trò - Quyền Tenants bị loại bỏ cho tenant không phải root
14 Triển khai Cập nhật Quyền Vai trò - Loại bỏ và Cấp phát
15 Đưa Dịch vụ Vai trò vào Dependency Injection
16 Lệnh Tạo Vai trò
17 Thêm các lệnh Vai trò
18 Các truy vấn Vai trò
19 Các mô hình Yêu cầu Người dùng
20 Mô hình Yêu cầu Vai trò Người dùng
21 Mô hình Phản hồi Người dùng
22 Định nghĩa Dịch vụ Người dùng Hiện tại
23 Định nghĩa Dịch vụ Người dùng
24 Triển khai Dịch vụ Người dùng - Các phụ thuộc
25 Triển khai Kích hoạt hoặc Vô hiệu hóa
26 Triển khai Gán Vai trò - không phải admin cho tenant gốc
27 Triển khai Gán Vai trò - ít nhất hai người dùng admin cho mỗi tenant
28 Triển khai Gán Vai trò - Gán thực tế
29 Triển khai Thay đổi Mật khẩu Người dùng
30 Triển khai Tạo Người dùng
31 Triển khai Xóa người dùng
32 Triển khai Lấy tất cả người dùng và theo id
33 Triển khai Lấy Quyền Người dùng
34 Triển khai Lấy Vai trò Người dùng
35 Triển khai IsEmailTaken và IsPermissionAssigned
36 Triển khai Cập nhật Người dùng
37 Triển khai Dịch vụ Người dùng Hiện tại
38 Middleware Người dùng Hiện tại
39 Lệnh Tạo Người dùng
40 Các lệnh Người dùng
41 Truy vấn Lấy Người dùng Theo Id
42 Các truy vấn Người dùng
43 Endpoint Đăng ký Người dùng
44 Các endpoint Người dùng
45 Endpoint Người dùng - Đặt lại Mật khẩu
46 Dọn dẹp mã cuối cùng
47 Kiểm thử Cuối cùng
1 Giới thiệu Front-end
2 Giải thích Chiến lược Triển khai
3 Trình diễn và Giải thích
4 Phương án Thay thế - Không khuyến nghị
5 Dự án Gói
6 Các Yêu cầu Vai trò
7 Phản hồi Vai trò và Yêu cầu/Phản hồi Token
8 Yêu cầu và Phản hồi Người dùng
9 Yêu cầu và Phản hồi Trường học
10 Yêu cầu và Phản hồi Tenant
11 Các Wrapper
12 Hằng số Xác thực
13 Chuẩn bị Phát hành Gói
14 Siêu dữ liệu Gói
15 GIẤY PHÉP và Khởi tạo Kho lưu trữ
16 Azure DevOps
17 Nguồn Nuget Riêng tư
18 Cài đặt Nguồn - Quyền
19 Token Truy cập Cá nhân
20 Kết nối Nguồn
21 Pipeline CI-CD
22 Phát hành Gói - Thành công
23 Loại bỏ Định nghĩa Kiểu khỏi Solution
24 Sửa lỗi Namespace - Mẹo
25 Căn chỉnh Namespace Roles
26 Căn chỉnh Namespace Tokens và Users
27 Dọn dẹp Namespace cuối cùng cùng nhau
28 Tổng kết cuối cùng
1 Dự án Blazor WASM
2 Trang Index
3 Điểm vào Ứng dụng
4 Kiểm thử Bộ định tuyến
5 Bố cục
6 Menu Điều hướng
7 Đường dẫn Thành phần
8 Cài đặt Khởi chạy
9 Tiêm phụ thuộc
1 Tổng quan nhanh về MudBlazor
2 Cơ sở hạ tầng Client
3 Cài đặt Gói
4 Thêm Gói
5 AppSettings - URL API Cơ sở
6 AppSettings - Token
7 Đưa Cấu hình vào DI
8 Extension ResponseWrapper - Phần 1
9 Extension ResponseWrapper - Phần 2
1 Nhà cung cấp Trạng thái Xác thực
2 Lấy AuthenticationState - Phần 1
3 Lấy AuthenticationState - Phần 2
4 AuthenticationState - Các Claim Vai trò
5 AuthenticationState - Các Claim Quyền
6 AuthenticationState - Tất cả các Claim khác
7 AuthenticationState - UserState
8 Đánh dấu Người dùng Đã xác thực
9 Đánh dấu Người dùng Đã đăng xuất
10 Lấy Người dùng từ Nhà cung cấp Trạng thái Xác thực
11 Trình xử lý Tiêu đề Xác thực
12 Thuộc tính ShouldHavePermission
13 Thêm AddAuthorizationCore vào DI
14 Thêm các Gói vào DI
15 Thêm HttpClient vào DI
16 Tóm tắt lại
17 Nhóm phụ thuộc vào Container DI
1 Cập nhật Điểm vào Trang Index
2 Ứng dụng - Điểm bắt đầu Authorize
3 MainLayout - Phần 1
4 MainLayout - Phần 2
5 MainLayout - Phần 3
6 NavMenu
7 ITokenService - Đăng nhập
8 TokenService - Các phụ thuộc
9 Helper AddTenantHeader
10 Đính kèm Tiêu đề Tenant
11 Gọi API Thực tế và Wrapper
12 Đặt Tokens vào Local Storage của Trình duyệt
13 Cập nhật Trạng thái Xác thực và đặt Tiêu đề Ủy quyền HttpClient
14 Đưa Token Service vào DI
15 Thành phần Đăng nhập - Phần 1
16 Thành phần Đăng nhập - Phần 2 (Stack)
17 Thành phần Đăng nhập - Phần 3 (Form)
18 Thành phần Đăng nhập - Phần 4 (Nút)
19 Khởi chạy Ứng dụng
20 Thiết kế lại Nút
21 Các Điều khiển Form - Ràng buộc
22 Ẩn Mật khẩu
23 Kiểm thử Ẩn Mật khẩu
24 Tiếp theo là gì
1 Giới thiệu Vòng đời Thành phần
2 Thành phần Vòng đời - Mẫu
3 Vòng đời - SetParametersAsync
4 Vòng đời - OnInitialized
5 Vòng đời - OnInitializedAsync
6 Vòng đời - OnParametersSet
7 Vòng đời - ShouldRender
8 Vòng đời - OnAfterRender
9 Vòng đời - OnAfterRenderAsync
10 Vòng đời - Dispose
1 Đăng nhập OnInitializedAsync - Phần 1
2 Đăng nhập OnInitializedAsync - Phần 2
3 Gửi Đăng nhập - Phần 1
4 Gửi Đăng nhập - Phần 2
5 Kiểm thử Đăng nhập - Lỗi CORS
6 Định nghĩa Chính sách CORS
7 Kiểm thử Đăng nhập - Thành công
8 Đăng nhập - Thành công với Local Storage của Trình duyệt
9 Phân tích MainLayout
10 Ràng buộc Sự kiện Bật/Tắt NavMenu
11 Kiểm thử Ràng buộc Sự kiện Bật/Tắt NavMenu - Thành công
12 Các Extension ClaimsPricipal
13 CurrentUserCard - Phần 1
14 CurrentUserCard - Phần 2 (Kiểm thử)
15 CurrentUserCard - Chi tiết người dùng đã đăng nhập (động)
16 Kiểm thử CurrentUserCard - Chi tiết người dùng đã đăng nhập (động) - Thành công
17 CurrentUserCard - Tái cấu trúc
18 Kiểm thử CurrentUserCard - Progress Circular - Thành công
19 Chức năng Đăng xuất
20 Đăng xuất - Hộp thoại Phần 1
21 Đăng xuất - Hộp thoại Phần 2 Markup
22 Đăng xuất - Hộp thoại Phần 3 Sự kiện
23 Đăng xuất - Sử dụng Phần 1
24 Cấu hình Hộp thoại
25 Ràng buộc Sự kiện Hộp thoại Đăng xuất
26 Kiểm thử Đăng xuất - Thành công
27 Mẫu Tài khoản Người dùng
28 Header - Các Tham số
29 Header - Markup
30 EventCallback Header
31 Header trong Tài khoản Người dùng
32 Sử dụng Header lần đầu
33 EventCallback - Kiểm thử trên Thành phần con
34 EventCallback - Kiểm thử Thành phần cha con thành công
35 Các Tab Tài khoản
36 Hồ sơ Người dùng - Phần 1
37 Hồ sơ Người dùng - Phần 2 Avatar
38 Hồ sơ Người dùng Phần 3 - Sử dụng lần đầu
39 Kiểm thử Hồ sơ Người dùng - Thành công
40 Căn chỉnh Hồ sơ Người dùng
41 Hồ sơ Người dùng - Form cập nhật chi tiết người dùng
42 EditForm vs MudForm
43 Định nghĩa IUserService
44 Triển khai UserService
45 Đưa UserService vào DI
46 Sử dụng Cập nhật Chi tiết Người dùng
47 Cập nhật Người dùng - Lỗi Ràng buộc
48 Cập nhật Người dùng - Các lỗi
49 Cập nhật Người dùng - Đã sửa lỗi 404
50 Thành phần Đặt lại Mật khẩu - Phần 1
51 Đặt lại Mật khẩu - Bật/Tắt Hiển thị Mật khẩu
52 Đặt lại Mật khẩu - Form Phần 1
53 Đặt lại Mật khẩu - Form Phần 2
54 UserService - Thay đổi Mật khẩu Người dùng
55 Đặt lại Mật khẩu - Ràng buộc Sự kiện
56 Kiểm thử Đặt lại Mật khẩu - Thành công
1 Giới thiệu Thành phần Tenant
2 Định nghĩa ITenantService
3 TenantService - Triển khai và Các endpoint Phần 1
4 Các endpoint Tenant
5 TenantService - Kích hoạt và Vô hiệu hóa
6 TenantService - Tạo
7 TenantService - Lấy tất cả
8 TenantService - Lấy theo Id
9 TenantService - Nâng cấp Gói đăng ký
10 Đưa TenantService vào DI
11 TenantService - Nhập
12 Thành phần Người thuê - Khởi tạo
13 Thành phần Người thuê - Bảng Phần 1
14 Thành phần Người thuê - Nội dung Header
15 Thành phần Người thuê - Mẫu Hàng Phần 1
16 Thành phần Người thuê - Mẫu Hành động Hàng Phần 2
17 Thành phần Người thuê - Mẫu Hành động Hàng Phần 3 Kiểm tra Thành công
18 Đăng nhập - Điền Thông tin Xác thực (CHỈ dành cho Phát triển)
19 Người thuê - Gọi lại Sự kiện
20 Thành phần Tạo Người thuê - Phần 1
21 Thành phần Tạo Người thuê - Phần 2 Biểu mẫu
22 Thành phần Tạo Người thuê - Phần 3 Hành động Hộp thoại
23 Thành phần Tạo Người thuê - Phần 4 DateTime Có thể Null
24 Thành phần Tạo Người thuê - Phần 5 Liên kết Sự kiện Nút
25 Gọi Hộp thoại Tạo Người thuê
26 Tạo Người thuê - Thiếu Liên kết Thuộc tính
27 Tạo Người thuê - Kiểm tra Thành công
28 Tạo Người thuê - Lề TextField Dense
29 Phân trang Bảng Người thuê
30 Nâng cấp Gói đăng ký Người thuê Phần 1
31 Nâng cấp Gói đăng ký Người thuê Phần 2
32 Liên kết Sự kiện Nâng cấp Gói đăng ký Người thuê - Phần 3
33 Gọi Nâng cấp Gói đăng ký Người thuê
34 Gọi Nâng cấp Gói đăng ký Người thuê - Kiểm tra Thành công
35 Kích hoạt hoặc Hủy kích hoạt Người thuê Mục Menu Động
36 Hộp thoại Xác nhận
37 Hộp thoại Xác nhận - Gán Tham số
38 Hộp thoại Xác nhận - Hủy kích hoạt Người thuê
39 175 Liên kết Sự kiện Kích hoạt Hoặc Hủy kích hoạt
40 Kiểm tra Kích hoạt Hoặc Hủy kích hoạt - Thành công
1 Mở rộng AuthorizationService
2 NavMenu Hiển thị Dựa trên Quyền Phần 1
3 NavMenu Hiển thị Dựa trên Quyền Phần 2 - Kiểm tra Thành công Một phần
4 NavMenu Hiển thị Dựa trên Quyền - Cập nhật Thông báo AuthStateProvider
5 Hiển thị Dựa trên Quyền - Kiểm tra Cập nhật Thông báo AuthStateProvider Thành công
6 Thành phần NotAuthorized
7 Cách dùng Thuộc tính ShouldHavePermission
8 Cách dùng NotAuthorized trong Ứng dụng
9 Kiểm tra NotAuthorized - Thành công
1 Giới thiệu Quản lý Người dùng
2 UserService - Định nghĩa Lấy Tất cả và Theo Id
3 UserService - Cấu hình Route
4 Lấy Theo Id - Triển khai
5 Lấy Người dùng - Triển khai
6 Thành phần Danh sách Người dùng - Phần 1
7 Thành phần Danh sách Người dùng - OnInitializedAsync
8 Thành phần Danh sách Người dùng - Markup
9 Thành phần Danh sách Người dùng - Kiểm tra Thành công
10 NavLink - Thành phần Người dùng
11 Dọn dẹp
12 UserService - Đăng ký
13 Thành phần Đăng ký Người dùng - Phần 1
14 Thành phần Đăng ký Người dùng - Phần 2
15 Thành phần Đăng ký Người dùng - Phần 3
16 Thành phần Đăng ký Người dùng - Phần 4
17 Gọi Thành phần Đăng ký Người dùng
18 Kiểm tra Thành phần Đăng ký Người dùng Thành công
19 Thành phần Vai trò Người dùng - Phần 1
20 Thành phần Vai trò Người dùng Lấy Người dùng Theo Id
21 Vai trò Người dùng - Cấu hình Endpoint
22 UserService - Lấy Vai trò Người dùng
23 Thành phần Vai trò Người dùng - Lấy Vai trò Người dùng
24 Thành phần Vai trò Người dùng - Markup Phần 1
25 Thành phần Vai trò Người dùng - Markup Phần 2 và Điều hướng
26 Thành phần Vai trò Người dùng - Kiểm tra Thành công
27 Thành phần Vai trò Người dùng - Cập nhật Vai trò Phần 1
28 Sửa lỗi Tham số Endpoint Cập nhật Vai trò Người dùng
29 UserService - Cập nhật Vai trò Người dùng
30 Thành phần Vai trò Người dùng - Cập nhật Vai trò
31 Thành phần Vai trò Người dùng - Kiểm tra Cập nhật Vai trò Thành công
32 Sửa lỗi Gán Vai trò cho Người dùng Mới
33 Thành phần Vai trò Người dùng - Hiển thị Dựa trên Quyền
34 Thành phần Vai trò Người dùng - Kiểm tra Quyền Một phần
35 UserService - Cập nhật Trạng thái Người dùng
36 UserService - Triển khai Cập nhật Trạng thái Người dùng
37 Thành phần Người dùng - Xác nhận Hủy kích hoạt người dùng
38 Thành phần Người dùng - Xác nhận Kích hoạt người dùng
39 Thành phần Người dùng - Kiểm tra Xác nhận Hủy kích hoạt và Kích hoạt người dùng Thành công
40 Cải thiện Nhãn Dữ liệu Bảng
1 Giới thiệu Quản lý Vai trò
2 Endpoint Vai trò - Cấu hình
3 Endpoint Vai trò - Lớp để Liên kết
4 Định nghĩa IRoleService
5 RoleService - Tạo
6 RoleService - Xóa
7 RoleService - Phương thức GET
8 RoleService - Phương thức PUT
9 Đưa RoleService vào Dependency Injection
10 Thành phần Vai trò - Phần 1
11 Thành phần Vai trò - Quyền
12 Thành phần Vai trò - Tải Vai trò từ Máy chủ
13 Thành phần Vai trò - Markup phần 1
14 Thành phần Vai trò - Kiểm tra Markup Thành công
15 Thành phần Vai trò - Kiểm tra NavLink Thành công
16 Bài tập - Thành phần TẠO, CẬP NHẬT và XÓA VAI TRÒ
17 Thành phần RolePermissions và ViewModel
18 Thành phần RolePermissions - Thuộc tính và Trường
19 Thành phần RolePermissions - Phương thức Phần 1
20 Thành phần RolePermissions - Phương thức Phần 2
21 Thành phần RolePermissions - Phương thức Phần 3
22 Thành phần RolePermissions - Phương thức Phần 4
23 Thành phần RolePermission - Markup Phần 1
24 Thành phần RolePermission - Markup Phần 2
25 Thành phần RolePermission - Markup Phần 3
26 Thành phần RolePermission - Markup Phần 4
27 Thành phần RolePermission - Markup Phần 5 Kiểm tra Thành công
28 Thành phần RolePermission - Markup Phần 6 Cập nhật
29 Thành phần RolePermission - Markup Phần 7 Kiểm tra Cập nhật Thành công
30 Cập nhật Quyền Cập nhật Hồ sơ cho Vai trò Cơ bản
1 Cấu hình Endpoint Trường học
2 ISchoolService - Định nghĩa
3 SchoolService - Tạo Trường học
4 SchoolService - Triển khai Hoàn chỉnh
5 Đưa SchoolService vào DI
6 Thành phần Danh sách Trường học Phần 1
7 Thành phần Danh sách Trường học Phần 2
8 Thành phần Danh sách Trường học - Markup
9 Thành phần Danh sách Trường học - Vấn đề 404
10 Thành phần Danh sách Trường học - Kiểm tra Markup Thành công
11 Thành phần Danh sách Trường học - Sửa lỗi 404
12 Hộp thoại Tạo Trường học Phần 1
13 Hộp thoại Tạo Trường học - Lưu Trường học
14 Hộp thoại Tạo Trường học - Markup
15 Hộp thoại Tạo Trường học - Gọi
16 Hộp thoại Tạo Trường học - Kiểm tra Thành công
17 Căn chỉnh cột Bảng
1 Refresh Token - Tại sao cần
2 TokenService - RefreshToken
3 TokenService - TryForceRefreshToken
4 IHttpRefreshTokenInterceptorService - Định nghĩa
5 HttpRefreshTokenInterceptorService - Phần 1
6 HttpRefreshTokenInterceptorService - Phần 2
7 HttpRefreshTokenInterceptorService - Gọi
8 HttpRefreshTokenInterceptorService - Chuẩn bị Kiểm tra
9 HttpRefreshTokenInterceptorService - Kiểm tra Thành công
10 Cải thiện HttpRefreshTokenInterceptorService - Kiểm tra Thành công
1 Giới thiệu Xác thực Biểu mẫu
2 Cài đặt Gói và Lớp Xác thực
3 Hàm Xác thực
4 Xác thực - Gửi Biểu mẫu Hợp lệ
5 Xác thực - Cập nhật Biểu mẫu
6 Xác thực - Kiểm tra Thành công
7 Kết thúc

Giới thiệu khóa học

Dive deep into .NET 8 with our advanced online course, focusing on multi-tenancy solutions and cutting-edge techniques. Learn to architect clean and scalable solutions while mastering multi-tenancy support using Finbuckle libraries. Explore subscription management for tenants, ASP.NET Core Identity for user management, and JWT authentication for secure access control.


Unlock the power of permission-based authorization and seamlessly implement global response wrappers for standardized API responses. Delve into advanced patterns such as CQRS with MediatR, Pipeline behaviours and leverage FluentValidation for robust data validation. Discover the elegance of C# 9's primary constructor syntax and elevate your API documentation with advanced Swagger UI implementations.


Ideal for developers seeking to enhance their ASP.NET Core skills, this course offers practical insights and hands-on experience to excel in building sophisticated, multi-tenant applications.


Key Topics Covered:


Multi-Tenancy Support with Finbuckle

Subscription Management for Tenants

ASP.NET Core Identity and JWT Authentication

Permission-Based Authorization

Global Response Wrapper Implementation

CQRS Patterns with MediatR

Data Validation using FluentValidation

Primary Constructor Syntax in C# 9

Advanced Swagger UI Implementations

Blazor Webassembly

MudBlazor UI Library

And much more...


Prerequisites: Basic understanding of ASP.NET Core development and C# programming language recommended.


Enroll now and unlock the full potential of ASP.NET Core for multi-tenant applications!

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Blazor
Hiển thị tất cả khoá học Dotnet
Hiển thị tất cả khoá học Fullstack Development
Hiển thị tất cả khoá học Software Development
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊