1. import { Controller, Get, Query ,Request} from '@nestjs/common';
    2. @Controller('login')
    3. export class LoginController {
    4. @Get('sign')
    5. sign(@Request() req):string{
    6. req.session.session = 'set-sessio';
    7. return '创建成功'
    8. }
    9. @Get('login')
    10. login(@Request() req):string{
    11. return req.session.session
    12. }
    13. }

    权限校样
    session 配置在了全局

    1. import { CanActivate, ExecutionContext, Injectable } from '@nestjs/common';
    2. import { Observable } from 'rxjs';
    3. @Injectable()
    4. export class AuthGuard implements CanActivate {
    5. canActivate(
    6. context: ExecutionContext,
    7. ): boolean | Promise<boolean> | Observable<boolean> {
    8. const req = context.switchToHttp().getRequest()
    9. // cookie原理一样
    10. // 获取session
    11. let session = req.session.session;
    12. // 获取访问接口地址
    13. let path = req.path;
    14. if(session || path === '/login/sign'){
    15. return true
    16. }else{
    17. return false
    18. }
    19. }
    20. }