在Foundry上保护Java应用程序并从外部工具调用它

2020-08-14 14:35发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我正在使用SAP W...

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

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


专家们,

我正在使用SAP Web IDE Full-Stack在SCP Foundry中开发Java servlet。 我需要保护servlet,避免在没有特定授权的情况下访问它。 我已经按照本教程进行操作(对概念进行了很好的解释):

在SAP Cloud上保护应用程序的安全 Platform Cloud Foundry

它运行良好,并在提示正确的凭据(由应用路由器管理)后,正确应用了所有授权并执行了servlet。 现在,我想从外部工具(例如Postman)中调用这种servlet。 怎么做?

我不知道这是不是正确的方法,因为当存在浏览器时,App Router可以很好地工作(另一边是真实的用户...),但是我不知道如何到达 从外部调用它的结果相同。 我认为这不是App Router的真正范围,因为它始终需要一个用户,那么如何保护Java应用程序并从外部工具调用它呢?

预先感谢

路卡

4条回答
2020-08-14 15:35

卡洛斯(Hi Carlos),

很抱歉收到这么晚的答复。 您的解决方案效果很好! 我在作用域级别的原始servlet的xs-security.json中添加了以下配置:

"授权给应用":[
     " $ XSAPPNAME(应用程序,SECOND_SERVICE-uaa)"
 ] 

然后,我创建了第二个xsuaa服务(来自服务市场的授权和信任管理服务),为应用程序服务计划添加了这种配置:

 {
 " xsappname":" SECOND_SERVICE-uaa",
 "租户模式":"专用",
 " description":"被调用应用程序的安全配置文件",
 "当局":[" $ ACCEPT_GRANTED_AUTHORITIES"]
 } 

第二个xsuaa实例的xsappname和服务名称相同。 最后,使用第二个xsuaa服务的clientid和clientsecret,我看到了第一个应用程序servlet中定义的范围。

非常感谢!

Luca

一周热门 更多>