使用Neo SDK获取租户ID

2020-09-18 20:39发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我试图构建一个多租户...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我试图构建一个多租户应用程序,并且设计了一个简单的体系结构来理解多租户的概念。 简单来说,我有一个同时在SAP Cloud Platform Neo上运行的sapui5和java应用程序。 显然,sapui5是前端,而Java应用程序是后端。

租户将订阅sapui5应用程序,而sapui5应用程序将使用java后端提供的服务。 服务必须特定于租户。 为了实现这一点,我使用了Neo SDK。

 Context ctx = new InitialContext();
 TenantContext tenant =(TenantContext)ctx.lookup(" java:comp/env/TenantContext");
 

在我的Java后端中的这个简单的代码片段可以找到租户ID。 它从URL中提取租户ID,因为URL还包含有关租户的信息。 但是这里出现问题。 Sapui5和Java应用程序位于同一个子帐户(dev)中,并且当任何租户使用sapui5应用程序时,都会出现相同的租户ID。 因为sapui5使用为dev子帐户创建的URL与Java应用程序进行通信,并且租户ID是dev子帐户的ID。 由于这种情况,我无法区分租户。

我该如何克服这个问题? 希望得到任何帮助,在此先感谢。

2条回答
wang628962
2020-09-18 21:44 .采纳回答

尊敬的尤努斯,

让我在这里给您一个提示...您错过了将消费者帐户订阅HTML5应用程序的可能性。 这样,每个租户将拥有自己的URL来访问HTML5应用程序。 当您对UI应用程序进行编码以调用Java后端时,应使用在HTML5应用程序的订阅下的已订阅帐户中配置的目标。 Java端点的此目标包含租户URL,并通过这种方法将其传播到服务器端的上下文。

让我知道这是否有帮助,或者您需要更多资源。

关于

伊利安

一周热门 更多>