
Autorisatie en RBAC
Op rollen gebaseerde toegangscontrole, aangepaste guards, decorators, permissies, eigenaarschap van resources
1Wat is RBAC (Role-Based Access Control)?
Wat is RBAC (Role-Based Access Control)?
Antwoord
RBAC is een toegangscontrolesysteem dat gebruikers permissies verleent op basis van hun rollen. In plaats van permissies voor elke gebruiker afzonderlijk te beheren, groepeert RBAC permissies in rollen (bijv. ADMIN, USER, MANAGER) en wijst deze rollen toe aan gebruikers. Dit vereenvoudigt het beheer van toegang in applicaties en is bijzonder nuttig in NestJS met aangepaste guards en metadata-decorators.
2Wat is het verschil tussen authenticatie en autorisatie?
Wat is het verschil tussen authenticatie en autorisatie?
Antwoord
Authenticatie verifieert de identiteit van de gebruiker (wie ben je?), meestal via login/wachtwoord of een JWT-token. Autorisatie verifieert de permissies van de gebruiker (wat mag je doen?) en regelt de toegang tot resources op basis van rollen of permissies. In NestJS gebruikt authenticatie vaak een JwtAuthGuard, terwijl autorisatie aangepaste guards zoals RolesGuard gebruikt om toegangsrechten te controleren.
3Welke NestJS-decorator maakt het mogelijk een aangepaste guard te maken?
Welke NestJS-decorator maakt het mogelijk een aangepaste guard te maken?
Antwoord
Om een aangepaste guard in NestJS te maken, maak je een klasse die met @Injectable() is gedecoreerd en de CanActivate-interface implementeert. Deze interface vereist de methode canActivate(context: ExecutionContext) die een boolean of Promise retourneert. De guard kan vervolgens met @UseGuards() op routes worden toegepast. Deze architectuur maakt het mogelijk afhankelijkheden (services, repositories) in de guard te injecteren om complexe validaties uit te voeren.
Wat vertegenwoordigt een 'permissie' in RBAC?
Hoe koppel je een guard aan een controller in NestJS?
+17 gespreksvragen
Andere Node.js / NestJS-sollicitatieonderwerpen
Node.js-grondbeginselen
Node.js Core-API's
Asynchroon programmeren
Express.js-basis
NestJS-grondbeginselen
REST API-ontwerp
Validatie & DTO
API-documentatie & contracten
Foutafhandeling
Unit testing
Taakplanning
NestJS-modules & DI
Configuratie- en omgevingsbeheer
JWT-authenticatie
Database met TypeORM
Prisma ORM
Middleware en Interceptors
Bestandsupload
WebSockets
GraphQL met NestJS
End-to-end testen
Caching met Redis
Wachtrijen met Bull
DevOps, Logging & CI/CD
Docker en containerisatie
Microservices
Best practices voor beveiliging
Prestaties en cloud-deployment
Beheers Node.js / NestJS voor je volgende gesprek
Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.
Begin gratis