启用一个简单的守卫,验证headers信息里面有没有x-demo等于secret这个值,有就通过没有就不通过报403
This commit is contained in:
parent
d20d72db9a
commit
37ab2ebe18
|
@ -6,6 +6,8 @@ export class DemoAuthGuard implements CanActivate {
|
||||||
canActivate(
|
canActivate(
|
||||||
context: ExecutionContext,
|
context: ExecutionContext,
|
||||||
): boolean | Promise<boolean> | Observable<boolean> {
|
): boolean | Promise<boolean> | Observable<boolean> {
|
||||||
return true;
|
const request = context.switchToHttp().getRequest();
|
||||||
|
|
||||||
|
return request.header('x-demo') === 'secret';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 { CreatePostDto } from './post.dto';
|
||||||
import { DemoService } from './providers/demo/demo.service'
|
import { DemoService } from './providers/demo/demo.service'
|
||||||
import { DemoFilter } from '../../core/filters/demo.filter'
|
import { DemoFilter } from '../../core/filters/demo.filter'
|
||||||
|
import { DemoAuthGuard } from '../../core/guards/demo-auth.guard'
|
||||||
|
|
||||||
|
|
||||||
@Controller('posts')
|
@Controller('posts')
|
||||||
|
@UseGuards(DemoAuthGuard)
|
||||||
// @UseFilters(DemoFilter)
|
// @UseFilters(DemoFilter)
|
||||||
export class PostsController {
|
export class PostsController {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue