Node.js / NestJS

Autorisation et RBAC

Role-based access control, custom guards, decorators, permissions, resource ownership

20 questions d'entretien·
Confirmé
1

Qu'est-ce que RBAC (Role-Based Access Control) ?

Réponse

RBAC est un système de contrôle d'accès qui attribue des permissions aux utilisateurs en fonction de leurs rôles. Au lieu de gérer les permissions individuellement pour chaque utilisateur, RBAC regroupe les permissions dans des rôles (ex: ADMIN, USER, MANAGER) et attribue ces rôles aux utilisateurs. Cela simplifie la gestion des accès dans les applications, particulièrement utile dans NestJS avec les guards personnalisés et les décorateurs de métadonnées.

2

Quelle est la différence entre authentification et autorisation ?

Réponse

L'authentification vérifie l'identité de l'utilisateur (qui êtes-vous ?), généralement via un login/mot de passe ou un token JWT. L'autorisation vérifie les permissions de l'utilisateur (que pouvez-vous faire ?), en contrôlant l'accès aux ressources selon les rôles ou permissions. Dans NestJS, l'authentification utilise souvent un JwtAuthGuard, tandis que l'autorisation utilise des guards personnalisés comme RolesGuard pour vérifier les droits d'accès.

3

Quel décorateur NestJS permet de créer un guard personnalisé ?

Réponse

Pour créer un guard personnalisé dans NestJS, il faut créer une classe décorée avec @Injectable() qui implémente l'interface CanActivate. Cette interface impose la méthode canActivate(context: ExecutionContext) qui retourne un boolean ou une Promise. Le guard peut ensuite être appliqué sur des routes avec @UseGuards(). Cette architecture permet d'injecter des dépendances (services, repositories) dans le guard pour effectuer des vérifications complexes.

4

Dans RBAC, que représente une 'permission' ?

5

Comment attacher un guard à un controller dans NestJS ?

+17 questions d'entretien

Maîtrise Node.js / NestJS pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement