
Phân quyền và RBAC
Kiểm soát truy cập dựa trên vai trò, custom guard, decorator, quyền, quyền sở hữu tài nguyên
1RBAC (Role-Based Access Control) là gì?
RBAC (Role-Based Access Control) là gì?
Câu trả lời
RBAC là một hệ thống kiểm soát truy cập cấp quyền cho người dùng dựa trên vai trò của họ. Thay vì quản lý quyền riêng lẻ cho từng người dùng, RBAC nhóm các quyền thành các vai trò (ví dụ: ADMIN, USER, MANAGER) và gán các vai trò này cho người dùng. Điều này đơn giản hóa việc quản lý truy cập trong ứng dụng, đặc biệt hữu ích trong NestJS với custom guard và decorator metadata.
2Sự khác biệt giữa authentication và authorization là gì?
Sự khác biệt giữa authentication và authorization là gì?
Câu trả lời
Authentication xác minh danh tính người dùng (bạn là ai?), thường thông qua đăng nhập/mật khẩu hoặc token JWT. Authorization xác minh quyền của người dùng (bạn có thể làm gì?), kiểm soát truy cập vào tài nguyên dựa trên vai trò hoặc quyền. Trong NestJS, authentication thường dùng JwtAuthGuard, trong khi authorization dùng custom guard như RolesGuard để kiểm tra quyền truy cập.
3Decorator NestJS nào cho phép tạo một custom guard?
Decorator NestJS nào cho phép tạo một custom guard?
Câu trả lời
Để tạo một custom guard trong NestJS, hãy tạo một lớp được trang trí bằng @Injectable() và triển khai interface CanActivate. Interface này yêu cầu phương thức canActivate(context: ExecutionContext) trả về một boolean hoặc Promise. Guard sau đó có thể được áp dụng cho các route bằng @UseGuards(). Kiến trúc này cho phép tiêm các phụ thuộc (service, repository) vào guard để thực hiện các kiểm tra phức tạp.
Trong RBAC, một 'permission' (quyền) đại diện cho điều gì?
Làm thế nào để gắn một guard vào một controller trong NestJS?
+17 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Node.js / NestJS khác
Kiến thức cơ bản về Node.js
API lõi Node.js
Lập trình bất đồng bộ
Cơ bản về Express.js
Nền tảng NestJS
Thiết kế REST API
Validation và DTO
Tài liệu API & Hợp đồng
Xử lý lỗi
Kiểm thử đơn vị
Lập lịch tác vụ
Module và DI trong NestJS
Cấu hình & Quản lý môi trường
Xác thực JWT
Cơ sở dữ liệu với TypeORM
Prisma ORM
Middleware và Interceptor
Tải lên tệp
WebSockets
GraphQL với NestJS
Kiểm thử End-to-End
Caching với Redis
Hàng đợi với Bull
DevOps, Logging & CI/CD
Docker & Đóng gói container
Microservices
Các phương pháp bảo mật tốt nhất
Hiệu năng và triển khai Cloud
Nắm vững Node.js / NestJS 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í