【问题标题】:Angular Get Spring Roles from JWTAngular 从 JWT 获取 Spring 角色
【发布时间】:2017-10-18 04:32:40
【问题描述】:

我在 REST 后端(使用 Spring 构建)中有两个角色:

ROLE_USER、ROLE_ADMIN

当我登录时,REST API 返回一个有效的令牌。然后我将它设置在本地存储中,如下所示:

localStorage.setItem('currentUser', JSON.stringify({username: username, token: token}));

当我需要它时,我会得到它:

localStorage.getItem('currentUser');

到目前为止一切顺利。当我获得我的令牌时,我如何获得有效负载和其中的声明?

如果你是管理员,我想显示管理面板。

【问题讨论】:

    标签: spring angular spring-boot jwt claims


    【解决方案1】:

    其他答案涵盖了您问题的春季部分,因此我将把答案集中在角度部分。

    您可以使用指令来显示/隐藏管理面板,如下所示:

    <admin-component *ngIf="user.isAdmin"></admin-component>
    

    【讨论】:

      【解决方案2】:

      根据令牌识别用户角色非常困难,最好添加一个新标志,如 IS_ROLE_USER、IS_ROLE_ADMIN 并根据该标志检查当前用户角色。或者使用spring boot security。会不会对你有帮助。

      【讨论】:

      • 我正在使用 Spring Security。但是,我不知道如何隐藏包含管理选项的 div。
      【解决方案3】:

      【讨论】:

      • 10x,我对图书馆有两个担忧:1)this.jwtHelper.decodeToken(token) 如果我不提供秘密,这将如何解码我的令牌? 2)如果我以某种方式提供秘密不是漏洞吗?
      • 谢谢,这正是我需要的! :)
      猜你喜欢
      • 2021-02-26
      • 2021-06-01
      • 2020-09-06
      • 1970-01-01
      • 2022-01-02
      • 2018-01-09
      • 2018-10-29
      • 1970-01-01
      • 2021-04-07
      相关资源
      最近更新 更多