点击此处---> 群内免费提供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应用程序并从外部工具调用它呢?
预先感谢
路卡
Luca,您好,很高兴看到该文章很有意义,尽管它对您的情况没有帮助。
我不是安全专家,也不了解SAML。
我认为,也许其他博客可以为您提供帮助吗?
想法是,如果没有办法通过idp验证用户密码,也许使用客户端凭据可以解决问题?
在博客中,我 试图找出如何从外部应用程序调用受保护的应用程序,因为外部应用程序不是人工用户,因此无法分配角色。 这是客户端凭据方案,涉及2个xsuaa实例,解决方案是在xs-security的定义中,在该解决方案中,提供应用的GRANT会明确授予所需的授权。
不过,仍然希望专家为您解答 问题;-)
干杯,卡洛斯(Carlos)
卡洛斯(Hi Carlos),
很抱歉收到这么晚的答复。 您的解决方案效果很好! 我在作用域级别的原始servlet的xs-security.json中添加了以下配置:
然后,我创建了第二个xsuaa服务(来自服务市场的授权和信任管理服务),为应用程序服务计划添加了这种配置:
第二个xsuaa实例的xsappname和服务名称相同。 最后,使用第二个xsuaa服务的clientid和clientsecret,我看到了第一个应用程序servlet中定义的范围。
非常感谢!
Luca
嗨Luca,
我觉得此博客详细说明了您的问题。
在Cloud Foundry中,您可以创建提供证书的服务密钥 用于从外部应用程序执行oauth流。
approuter简化了操作,使人类用户感到舒适
干杯,
Carlos
Hi Carlos,
非常感谢您的答复。 我一直关注着您的博客,在深入研究执行身份验证的不同方法之后,我发现我的问题与自定义IdP的使用有关。 因此,使用标准的SAP ID服务作为身份提供者,我可以按照博客中的描述调用servlet,但是在自定义IdP后面却无法使用。 该SAP注释非常清楚:
https://launchpad.support.sap.com/#/notes/2766354
所以我的问题已经改变:有没有办法使用支持SAML协议的自定义IdP从外部工具调用servlet?
谢谢
路卡
一周热门 更多>