启用一个简单的守卫,验证headers信息里面有没有x-demo等于secret这个值,有就通过没有就不通过报403

This commit is contained in:
Jeremy Yin 2019-06-19 21:43:45 +08:00
parent d20d72db9a
commit 37ab2ebe18
2 changed files with 6 additions and 2 deletions

View File

@ -6,6 +6,8 @@ export class DemoAuthGuard implements CanActivate {
canActivate(
context: ExecutionContext,
): boolean | Promise<boolean> | Observable<boolean> {
return true;
const request = context.switchToHttp().getRequest();
return request.header('x-demo') === 'secret';
}
}

View File

@ -1,10 +1,12 @@
import { Controller, Get, Post, Req, Query, Headers, Param, Body, HttpException, HttpStatus, ForbiddenException, UseFilters, UsePipes, ValidationPipe, ParseIntPipe } from '@nestjs/common';
import { Controller, Get, Post, Req, Query, Headers, Param, Body, HttpException, HttpStatus, ForbiddenException, UseFilters, UsePipes, ValidationPipe, ParseIntPipe, UseGuards } from '@nestjs/common';
import { CreatePostDto } from './post.dto';
import { DemoService } from './providers/demo/demo.service'
import { DemoFilter } from '../../core/filters/demo.filter'
import { DemoAuthGuard } from '../../core/guards/demo-auth.guard'
@Controller('posts')
@UseGuards(DemoAuthGuard)
// @UseFilters(DemoFilter)
export class PostsController {