点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我有一个具有挑战性的具有信...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我有一个具有挑战性的具有信...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我有一个具有挑战性的具有信任关系的非SAP到ABAP RFC场景。
Hereu2019的场景是:/p>
Oracle数据库服务器充当RFC客户端,并在ABAP服务器中调用RFC功能模块。 (我假设Oracle程序员将在Oracle服务器上使用NW RFC SDK 7.1或JCo 3.0,并从基于PL/SQL的数据库应用程序中调用它。)
挑战是我不想使用 ABAP端只有一个u201C技术用户u201D,因为这意味着Oracle端的所有用户都将映射到一个ABAP用户。 另外,我不想在Oracle端存储单个ABAP密码。
相反,我希望 ABAP服务器信任RFC客户端,其方式与
a)安装Java后信任NetWeaver AS Java服务器的方式相同 事务STRUSTSSO2或
b中的serveru2019的证书b)配置信任关系后(交易SMT1?)它可能信任另一个ABAP服务器的方式
ABAP服务器应接受传入的RFC 从Oracle RFC客户端连接,仅提供用户名而未给出密码,并在RFC调用中提供的用户ID下在ABAP系统中运行生成的进程。
< p>我以某种方式想象出理想的解决方案(基于PC的原型的简化方案):-我下载运行一个程序,该程序创建一个证书文件(公钥?),然后导入该文件 ABAP系统。
-同一程序为RFC客户端创建一个匹配文件(私钥?)。
-为简单起见,让我们将RFC客户端想象为在PC上运行的独立Java SE应用程序。
-Java SE应用程序使用JCo库进行连接 到ABAP系统。
-打开连接时,它传递的是用户名,但没有密码。 相反,它传递由我们的密钥/证书生成器程序生成的Base64编码的字符串。
-在ABAP端,功能模块在建立Java SE应用程序所使用的用户名下运行。 RFC连接。
这完全可能吗? 您将如何解决这个问题?
非常感谢您,并谨向您致以诚挚的问候,
敬请谅解
因此,RFC客户端不是 user 代理(即代表一个人),而是 server 组件(即为多个用户提供服务)。 在这种服务器到服务器的通信方案中,您不能出于单一登录目的而使用用于标识通信伙伴的任何机制(此处:任何SNC产品)(此处:RFC客户端=服务器组件)。
>相反,我希望ABAP服务器以可能的方式信任RFC客户端
> a)在事务STRUSTSSO2或
中安装Java服务器证书后,信任NetWeaver AS Java服务器。> b)配置信任关系(事务SMT1?)后,它可能信任另一个ABAP服务器的方式
对不起,但这是不可能的。
在两种情况下,专有令牌都与该专有协议(RFC)结合使用-外部各方无法创建这些令牌。
解决方案是:使用标准-此处是WS-Security(SAML令牌)。
NetWeaver应用服务器(NWAS)ABAP从7.0版开始支持WS-Security。
您可能想看看 https://wiki.sdn。 sap.com/wiki/display/Security/Single 在 Web +服务上的签名。
致谢,沃尔夫冈
一周热门 更多>