feat: add isSuperAdmin to JWT payload for campus scope bypass

This commit is contained in:
2026-07-05 23:51:10 +08:00
parent abcfbc6121
commit eeae06fe30
2 changed files with 3 additions and 1 deletions

View File

@@ -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) : [];

View File

@@ -30,6 +30,7 @@ export class JwtStrategy extends PassportStrategy(Strategy) {
id: payload.sub,
username: payload.username,
permissions: payload.permissions || [],
isSuperAdmin: payload.isSuperAdmin || false,
};
}
}