forked from wangziqi/gongxue-base
feat: add isSuperAdmin to JWT payload for campus scope bypass
This commit is contained in:
@@ -59,7 +59,8 @@ export class AuthService {
|
||||
|
||||
// 获取用户权限
|
||||
const permissions = await this.rbacService.getUserPermissions(user.id);
|
||||
const payload = { sub: user.id, username: user.username, permissions };
|
||||
const isSuperAdmin = user.roles?.some((r) => r.name === 'super_admin') ?? false;
|
||||
const payload = { sub: user.id, username: user.username, permissions, isSuperAdmin };
|
||||
|
||||
// 获取角色名称列表
|
||||
const roleNames = user.roles ? user.roles.filter((r) => r.status === 1).map((r) => r.name) : [];
|
||||
|
||||
@@ -30,6 +30,7 @@ export class JwtStrategy extends PassportStrategy(Strategy) {
|
||||
id: payload.sub,
|
||||
username: payload.username,
|
||||
permissions: payload.permissions || [],
|
||||
isSuperAdmin: payload.isSuperAdmin || false,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user