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

2020-08-14 14:35发布

         点击此处--->   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应用程序并从外部工具调用它呢?

预先感谢

路卡

         点击此处--->   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条回答
悠然的二货
1楼 · 2020-08-14 15:36.采纳回答

Luca,您好,很高兴看到该文章很有意义,尽管它对您的情况没有帮助。
我不是安全专家,也不了解SAML。
我认为,也许其他博客可以为您提供帮助吗?
想法是,如果没有办法通过idp验证用户密码,也许使用客户端凭据可以解决问题?
在博客中,我 试图找出如何从外部应用程序调用受保护的应用程序,因为外部应用程序不是人工用户,因此无法分配角色。 这是客户端凭据方案,涉及2个xsuaa实例,解决方案是在xs-security的定义中,在该解决方案中,提供应用的GRANT会明确授予所需的授权。

不过,仍然希望专家为您解答 问题;-)
干杯,卡洛斯(Carlos)

2楼-- · 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

SAP德到
3楼-- · 2020-08-14 15:21

嗨Luca,
我觉得此博客详细说明了您的问题。
在Cloud Foundry中,您可以创建提供证书的服务密钥 用于从外部应用程序执行oauth流。
approuter简化了操作,使人类用户感到舒适
干杯,
Carlos

何必丶何苦呢
4楼-- · 2020-08-14 15:17

Hi Carlos,

非常感谢您的答复。 我一直关注着您的博客,在深入研究执行身份验证的不同方法之后,我发现我的问题与自定义IdP的使用有关。 因此,使用标准的SAP ID服务作为身份提供者,我可以按照博客中的描述调用servlet,但是在自定义IdP后面却无法使用。 该SAP注释非常清楚:

https://launchpad.support.sap.com/#/notes/2766354

所以我的问题已经改变:有没有办法使用支持SAML协议的自定义IdP从外部工具调用servlet?

谢谢

路卡

一周热门 更多>