angular - Angular 客户端应该将用户角色存储在本地存储中吗?
问题描述
在我的 Angular 应用程序中,基于登录的用户,我想通过显示/隐藏不同的菜单项或允许/禁止某些路线来授予或限制功能。目前在成功登录时,我的 .NET Core API 返回一个 JWT 令牌以及用户的角色并将其存储在本地存储中。然后我用它来显示我的菜单(例如)。我只是怀疑这是最佳实践,因为它暴露了我的用户角色,我不确定如果有人在本地存储中手动更改它会发生什么。
有没有更好/更安全的方法来实现这一目标?
如果您需要更多详细信息,请告诉我。谢谢
解决方案
您不能手动更改您的 JWT 令牌,因为它是使用私钥(或密钥)生成的。如果没有私钥,您将无法创建具有更新角色的新令牌。所以用户无法做到这一点。他当然可以解码令牌,但他不能编码有效的新令牌
推荐阅读
- java - 如何在不提交整个事务的情况下根据持久化实体管理器维护插入和删除
- azure - 如何为最佳实践 Azure Artifacts CI/CD 配置单个管道
- python - 合并具有不同索引的两个数据帧(时间作为索引)
- json - Json foreach 为融合图制作自定义数组
- android - 向 RecyclerView ListAdapter 提交新列表时,差异检查始终为 areContentsTheSame() 返回 true
- r - 多个列表创建 (R)
- java - 哪个双值参数使 String.format 结果成为星号
- datatrigger - 基于时间的谷歌应用脚本触发器不起作用
- java - Netty 4.0 发送超过 16 KB 的字符串消息?
- android - Android画布线条strokeCap圆形大于简单线条