Node.js / NestJS

Otorisasi & RBAC

Kontrol akses berbasis peran, guard kustom, decorator, izin, kepemilikan resource

20 pertanyaan wawancaraยท
Mid-Level
1

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.

2

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.

3

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.

4

Dalam RBAC, apa yang diwakili oleh sebuah 'izin' (permission)?

5

Bagaimana cara memasang guard ke sebuah controller di NestJS?

+17 pertanyaan wawancara

Kuasai Node.js / NestJS untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis