import { Controller, Get, Query ,Request} from '@nestjs/common';
@Controller('login')
export class LoginController {
@Get('sign')
sign(@Request() req):string{
req.session.session = 'set-sessio';
return '创建成功'
}
@Get('login')
login(@Request() req):string{
return req.session.session
}
}
权限校样
session 配置在了全局
import { CanActivate, ExecutionContext, Injectable } from '@nestjs/common';
import { Observable } from 'rxjs';
@Injectable()
export class AuthGuard implements CanActivate {
canActivate(
context: ExecutionContext,
): boolean | Promise<boolean> | Observable<boolean> {
const req = context.switchToHttp().getRequest()
// cookie原理一样
// 获取session
let session = req.session.session;
// 获取访问接口地址
let path = req.path;
if(session || path === '/login/sign'){
return true
}else{
return false
}
}
}