小编Emi*_*aki的帖子

关于ManyToOne可选关系的JPA Criteria API

我正在尝试在以下结构上使用JPA Criteria API进行简单查询

1)员工

    public class Employee {

        @Id
        @Column(name = "ID", length = 64)
        private String id;

        @Column(name = "NAME", length = 512)
        private String name;

        @ManyToOne(optional = true)
        @JoinColumn(name = "ORG_ID", nullable = true)
        private InternalOrg organization;

    }
Run Code Online (Sandbox Code Playgroud)

2)内部组织

    public class InternalOrg {

        @Id
        @Column(name = "ID", length = 64)
        private String id;

        @Column(name = "ORGANIZATION", length = 512)
        private String organization;

        @Column(name = "CODE", length = 64)
        private String code;

    }
Run Code Online (Sandbox Code Playgroud)

3)查询

    EntityManager em = getEntityManager();
    CriteriaBuilder …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa

5
推荐指数
1
解决办法
1336
查看次数

WSO2 APIM - 在 JWT 负载中添加用户角色

我正在开发一些通过 WSO2 APIM 公开 REST 的 SpringBoot 微服务。

微服务本身不实现任何类型的身份验证或授权机制,它委托给APIM。

如果我将 API 设置为使用此处所述的密码授予,前端应用程序可以进行身份​​验证并生成 JWT 令牌。

现在的问题是我无法从 JWT 负载中获取用户角色,因为 APIM 没有添加它。此信息很重要,因为前端根据用户角色呈现菜单和按钮。

我在生成令牌时传递的用户确实具有一些角色,如下所示:

在此输入图像描述

但生成的 JWT 令牌不包含有关角色的任何信息。这是一个示例令牌:

eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5UZG1aak00WkRrM05qWTBZemM1TW1abU9EZ3dNVEUzTVdZd05ERTVNV1JsWkRnNE56YzRaQT09In0.eyJodHRwOlwvXC93c28yLm9yZ1wvY2xhaW1zXC9hcHBsaWNhdGlvbnRpZXIiOiJVbmxpbWl0ZWQiLCJodHRwOlwvXC93c28yLm9yZ1wvY2xhaW1zXC92ZXJzaW9uIjoidjEiLCJodHRwOlwvXC93c28yLm9yZ1wvY2xhaW1zXC9rZXl0eXBlIjoiUFJPRFVDVElPTiIsImlzcyI6IndzbzIub3JnXC9wcm9kdWN0c1wvYW0iLCJodHRwOlwvXC93c28yLm9yZ1wvY2xhaW1zXC9hcHBsaWNhdGlvbm5hbWUiOiJDYWRhc3RybyBkZSBDbGllbnRlcyIsImtleXR5cGUiOiJTQU5EQk9YIiwiaHR0cDpcL1wvd3NvMi5vcmdcL2NsYWltc1wvZW5kdXNlciI6ImVtaWxpb0BjYXJib24uc3VwZXIiLCJodHRwOlwvXC93c28yLm9yZ1wvY2xhaW1zXC9lbmR1c2VyVGVuYW50SWQiOiItMTIzNCIsImh0dHA6XC9cL3dzbzIub3JnXC9jbGFpbXNcL3N1YnNjcmliZXIiOiJhZG1pbiIsImh0dHA6XC9cL3dzbzIub3JnXC9jbGFpbXNcL3RpZXIiOiJVbmxpbWl0ZWQiLCJzY29wZSI6ImRlZmF1bHQiLCJleHAiOiIxNTk5NTYyOTQ4MDI4IiwiaHR0cDpcL1wvd3NvMi5vcmdcL2NsYWltc1wvYXBwbGljYXRpb25pZCI6IjIiLCJodHRwOlwvXC93c28yLm9yZ1wvY2xhaW1zXC91c2VydHlwZSI6IkFwcGxpY2F0aW9uX1VzZXIiLCJjb25zdW1lcktleSI6IktJaTdnUk1RYmg1OWZGbmpVOFhNbnhGcm9pNGEiLCJodHRwOlwvXC93c28yLm9yZ1wvY2xhaW1zXC9hcGljb250ZXh0IjoiXC9ia25nXC92MSJ9.km4w2V7dGmoGl8f4_ZqKHvdofAPLOOw__GPjWKrpjYelbi7IjDIpRODEZNn8hE1krRdDTSjKRviJ-NBvXtTXIiLdfPh1p-zNtX26vrS77ZcSZ2WsQA7Ku21YMqcm6cyZvEhZ99qfTxOtbJfkwt6Yt8itkyr-aqk83pNp85LTnwtNboib9VOOvh37zNEJUImzKw4WvENp4SGLuHO978FriHyHPN9vibzPjpItW5DOXTFNdN4rP6RK_vcOH6hpuZHwivJpTHxf9qMB3Gd2yTig-Hkr-sZGbx89pQf8kqtCLWbhRG5jOtcEJNf2CSNLB0Glg_e4F6LfhVD5JUCz15jdlg
Run Code Online (Sandbox Code Playgroud)

当我在https://jwt.io/中提取它时,我得到以下有效负载:

{
  "http://wso2.org/claims/applicationtier": "Unlimited",
  "http://wso2.org/claims/version": "v1",
  "http://wso2.org/claims/keytype": "PRODUCTION",
  "iss": "wso2.org/products/am",
  "http://wso2.org/claims/applicationname": "Cadastro de Clientes",
  "keytype": "SANDBOX",
  "http://wso2.org/claims/enduser": "emilio@carbon.super",
  "http://wso2.org/claims/enduserTenantId": "-1234",
  "http://wso2.org/claims/subscriber": "admin",
  "http://wso2.org/claims/tier": "Unlimited",
  "scope": "default",
  "exp": "1599562948028",
  "http://wso2.org/claims/applicationid": "2",
  "http://wso2.org/claims/usertype": "Application_User",
  "consumerKey": "KIi7gRMQbh59fFnjU8XMnxFroi4a",
  "http://wso2.org/claims/apicontext": "/bkng/v1"
}
Run Code Online (Sandbox Code Playgroud)

如何将用户角色添加到 JWT 负载?我是否需要按照此处所述实现自定义生成器?

提前致谢!

wso2 oauth-2.0 jwt wso2-api-manager

5
推荐指数
1
解决办法
1278
查看次数

*ngIf 和子组件

我正在尝试创建一个组件,该组件具有定义是否将呈现模板的某些部分的参数。这是我的子组件:

Render below? {{render}}
<p *ngIf="render">
    Content to be rendered
</p>
Run Code Online (Sandbox Code Playgroud)

这是主要组件中的用法:

<app-test render="false"></app-test>
Run Code Online (Sandbox Code Playgroud)

最后,这是代码:

export class TestComponent implements OnInit {

  @Input() render: boolean = true;

  constructor() { }

  ngOnInit() {
  }

}
Run Code Online (Sandbox Code Playgroud)

这是结果:

在此处输入图片说明

请注意,“render”属性为“false”,但仍会呈现应基于参数呈现的代码部分。

这是 StackBlitz:https ://stackblitz.com/edit/angular-zch3gp

提前致谢

angular

1
推荐指数
1
解决办法
62
查看次数

Windows 终端,在选项卡中启动两个命令

我想创建一个脚本,在 Windows 终端的两个不同选项卡中启动两个 shell 进程。有一个名为“new-tab”的参数,但我根本无法使其工作。

是否可以创建一个打开 Windows 终端并在两个不同选项卡中运行两个控制台应用程序的脚本?

谢谢,

windows-terminal

1
推荐指数
1
解决办法
2073
查看次数