如何访问 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/的时候可以看到角色名,所以应该可以。
目前我正在使用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/的时候可以看到角色名,所以应该可以。