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原理一样// 获取sessionlet session = req.session.session;// 获取访问接口地址let path = req.path;if(session || path === '/login/sign'){return true}else{return false}}}
