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 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) : [];
|
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,
|
id: payload.sub,
|
||||||
username: payload.username,
|
username: payload.username,
|
||||||
permissions: payload.permissions || [],
|
permissions: payload.permissions || [],
|
||||||
|
isSuperAdmin: payload.isSuperAdmin || false,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user