
Otorisasi & RBAC
Kontrol akses berbasis peran, guard kustom, decorator, izin, kepemilikan resource
1Apa itu RBAC (Role-Based Access Control)?
Apa itu RBAC (Role-Based Access Control)?
Jawaban
RBAC adalah sistem kontrol akses yang memberikan izin kepada pengguna berdasarkan peran mereka. Alih-alih mengelola izin secara individual untuk setiap pengguna, RBAC mengelompokkan izin ke dalam peran (mis: ADMIN, USER, MANAGER) dan menetapkan peran tersebut kepada pengguna. Hal ini menyederhanakan pengelolaan akses dalam aplikasi, terutama berguna di NestJS dengan guard kustom dan decorator metadata.
2Apa perbedaan antara autentikasi dan otorisasi?
Apa perbedaan antara autentikasi dan otorisasi?
Jawaban
Autentikasi memverifikasi identitas pengguna (siapa Anda?), biasanya melalui login/kata sandi atau token JWT. Otorisasi memverifikasi izin pengguna (apa yang dapat Anda lakukan?), dengan mengontrol akses ke resource berdasarkan peran atau izin. Di NestJS, autentikasi sering menggunakan JwtAuthGuard, sedangkan otorisasi menggunakan guard kustom seperti RolesGuard untuk memeriksa hak akses.
3Decorator NestJS mana yang memungkinkan pembuatan guard kustom?
Decorator NestJS mana yang memungkinkan pembuatan guard kustom?
Jawaban
Untuk membuat guard kustom di NestJS, buat sebuah kelas yang didekorasi dengan @Injectable() yang mengimplementasikan interface CanActivate. Interface ini mengharuskan metode canActivate(context: ExecutionContext) yang mengembalikan boolean atau Promise. Guard kemudian dapat diterapkan pada route dengan @UseGuards(). Arsitektur ini memungkinkan penyuntikan dependensi (service, repository) ke dalam guard untuk melakukan validasi yang kompleks.
Dalam RBAC, apa yang diwakili oleh sebuah 'izin' (permission)?
Bagaimana cara memasang guard ke sebuah controller di NestJS?
+17 pertanyaan wawancara
Topik wawancara Node.js / NestJS lainnya
Dasar-Dasar Node.js
API Inti Node.js
Pemrograman Asinkron
Dasar-Dasar Express.js
Dasar-Dasar NestJS
Desain API REST
Validasi & DTO
Dokumentasi API & Kontrak
Penanganan Error
Pengujian Unit
Penjadwalan Tugas
Modul dan DI NestJS
Konfigurasi & Manajemen Lingkungan
Autentikasi JWT
Database dengan TypeORM
Prisma ORM
Middleware dan Interceptor
Unggah file
WebSockets
GraphQL dengan NestJS
Pengujian End-to-End
Caching dengan Redis
Antrian dengan Bull
DevOps, Logging & CI/CD
Docker & Kontainerisasi
Microservices
Praktik Terbaik Keamanan
Performa dan Deployment Cloud
Kuasai Node.js / NestJS untuk wawancara berikutnya
Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.
Mulai gratis