@UseGuards() & CanActivate este o componentă esențială în ecosistemul NestJS. Restricționarea accesului la rute pe baza verificării drepturilor de acces și a autentificării JWT.
Sintaxă și Utilizare Practică
Exemplu practic documentat pas cu pas:
import { UseGuards } from '@nestjs/common';
import { JwtAuthGuard } from './jwt-auth.guard';
import { RolesGuard } from './roles.guard';
@UseGuards(JwtAuthGuard, RolesGuard)
@Get('panou-admin')
getAdminDashboard() {
return { date: 'confidențiale' };
}
Bune Practici în Producție
- Arhitectură și Tipizare: Folosiți DTO-uri, validare strictă și principii de decuplare (Inversion of Control).
- Performanță: Evitați interogările N+1, folosiți mecanisme de caching și rute asincrone unde este cazul.
- Securitate: Validați întotdeauna datele de intrare și aplicați filtre de autorizare pe toate endpoint-urile sensibile.