如何访问 angular UI 中 CurrentUser 的角色?使用 Abp v2.9

How to get access to Role of CurrentUser in angular UI ? using Abp v2.9

目前我正在使用ABP 2.9版(DonetCore,Angular,Mongo)项目模板。

我需要一个逻辑来根据用户角色将用户重定向到不同的路径。

我从源代码中看到的 [here],有 CurrentUser 对象,但它没有角色 属性。

export interface CurrentUser {
isAuthenticated: boolean;
id: string;
tenantId: string;
userName: string;
email: string;
}

可能是 'Roles' 没有包含在当前用户中?

有没有办法使用任何服务或状态获取用户角色?

还有如何将角色作为额外的文件添加到 jwt 令牌并从客户端访问它?

首先,我不建议写基于角色的代码。因为角色是动态的,你可以在运行时添加角色,而在开发时无法知道角色名称。有一个例外:静态角色在开发时是已知的。但是,我建议尽可能使用 permission system

在当前设计中,角色无法在客户端访问。但是,我没有看到任何不将它们添加到当前用户的充分理由。如果您在 GitHub 存储库上创建问题,我们可以添加它。

JWT 令牌存储在本地存储中(据我所知 - 我没有开发 Angular 端)。如果您访问它(access_token),您可以提取其中的角色。我粘贴到https://jwt.io/的时候可以看到角色名,所以应该可以。