perf: 移除AuthGuard读取用户的操作
This commit is contained in:
@@ -2,12 +2,10 @@
|
|||||||
import { Injectable, CanActivate, ExecutionContext, UnauthorizedException } from '@nestjs/common';
|
import { Injectable, CanActivate, ExecutionContext, UnauthorizedException } from '@nestjs/common';
|
||||||
import { Request } from 'express';
|
import { Request } from 'express';
|
||||||
import { UserSessionService } from 'src/auth/service/user-session.service';
|
import { UserSessionService } from 'src/auth/service/user-session.service';
|
||||||
import { UserService } from 'src/user/user.service';
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class AuthGuard implements CanActivate {
|
export class AuthGuard implements CanActivate {
|
||||||
constructor(
|
constructor(
|
||||||
private userService: UserService,
|
|
||||||
private userSessionService: UserSessionService,
|
private userSessionService: UserSessionService,
|
||||||
) { }
|
) { }
|
||||||
|
|
||||||
@@ -26,13 +24,12 @@ export class AuthGuard implements CanActivate {
|
|||||||
throw new UnauthorizedException('登陆凭证无效,请重新登陆');
|
throw new UnauthorizedException('登陆凭证无效,请重新登陆');
|
||||||
}
|
}
|
||||||
|
|
||||||
// 附加 user 到 req
|
const { userId } = session;
|
||||||
const user = await this.userService.findOne({ userId: session.userId });
|
|
||||||
if (!user) {
|
|
||||||
throw new UnauthorizedException('用户不存在');
|
|
||||||
}
|
|
||||||
|
|
||||||
(request as any).user = { ...user, sessionId };
|
(request as any).user = {
|
||||||
|
sessionId,
|
||||||
|
userId,
|
||||||
|
};
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user