Guard
NestJS 🟡 MidDefinition
Classe @Injectable implementant CanActivate qui decide si une requete peut continuer. Ideal pour l'authentification et l'autorisation.
Analogie
Comme un videur de boite de nuit : il verifie si tu as le droit d'entrer avant de te laisser passer.
Exemple de code
@Injectable()
export class AuthGuard implements CanActivate {
canActivate(context: ExecutionContext): boolean {
const request = context.switchToHttp().getRequest();
return !!request.headers.authorization;
}
}
Cas d'usage
Proteger des routes avec authentification JWT, verifier les roles RBAC ou valider des permissions.
Anti-pattern
Verifier l'authentification dans chaque controller au lieu d'utiliser un guard reutilisable.