MonsterAI .Lab

Flutter • Rust • Next.js

返回首页
NestJS

NestJS 守卫 (Guards) 与权限控制:JWT 鉴权、Passport 与 RBAC 角色系统

Waitwalker2026-08-2315 min
## 1. RolesGuard 角色守卫实现 ```typescript @Injectable() export class RolesGuard implements CanActivate { constructor(private reflector: Reflector) {} canActivate(context: ExecutionContext): boolean { const requiredRoles = this.reflector.getAllAndOverride<Role[]>(ROLES_KEY, [ context.getHandler(), context.getClass(), ]); if (!requiredRoles) return true; const { user } = context.switchToHttp().getRequest(); return requiredRoles.some((role) => user.roles?.includes(role)); } } ```
#NestJS#Guards#JWT#RBAC#安全
回到文章列表 →