Interface for guards that control access to routes
Guards are executed after middlewares but before route handlers. They determine if a request should be allowed to proceed.
class RoleGuard implements CanActivate { constructor(private readonly role: string) {} async canActivate(context: RouterContext): Promise<boolean> { const user = context.getUser() return user?.roles.includes(this.role) ?? false }} Copy
class RoleGuard implements CanActivate { constructor(private readonly role: string) {} async canActivate(context: RouterContext): Promise<boolean> { const user = context.getUser() return user?.roles.includes(this.role) ?? false }}
Determine if the request should be allowed
Router context with request/response helpers
true to allow, false to deny (throws 403)
Interface for guards that control access to routes
Guards are executed after middlewares but before route handlers. They determine if a request should be allowed to proceed.
Example