在我的Angular应用中,根据登录的用户,我想通过显示隐藏不同的菜单项或允许不允许某些路线来授予或限制功能。目前,在成功登录后,我的.NET Core API会返回一个JWT Token以及用户的Role,并将其存储在本地存储中。然后我用它来显示我的菜单(例如)。我只是怀疑这是最好的做法,因为它暴露了我的用户角色,我不确定如果有人手动更改本地存储中的角色会发生什么。
有没有更好的更安全的方法来实现这个目标?
如果你需要更多的细节,请告诉我。谢谢你
你不能手动更改你的JWT令牌,因为它是用私钥(或秘钥)生成的。如果没有私钥,你不能用更新的角色创建新的token。所以用户不能这样做。当然,他可以解码令牌,但他不能编码有效的新令牌。