点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我已将我的AS JAVA应用程序配置为使用SAML2,目的是创建要传递到我的AS ABAP应用程序(浏览器中的CRM)的登录凭单。
我遇到的问题是(按顺序进行):
1)发送SAML身份验证,并从身份提供者接收到SAML响应。
2)收到SAML响应后,SAML2LoginModule被配置为采用两个属性(R3User和SAP Client),并将其放入登录凭单中以发送给ABAP应用程序。 此步骤失败。
3)在JAVA日志中,找到了两个与SAML2LoginModule相关的条目。
a)第一个日志条目显示LOGIN FAILED,详细信息=由于缺少凭据而导致的身份验证质询
b)第二个日志条目说:登录OK,详细信息-已使用的已声明的断言,以及属性和值等于正确的SAP客户端和正确的AS ABAP系统中存在的R3User ID。
因此,令人困惑的是两个SAML2日志条目说出了似乎相反的内容。 第一个失败,并显示"缺少凭据"消息,第二个条目正常,并传递了预期的SAML属性。
此外,当检查是否创建了登录票证时,我确实看到浏览器发送和接收了MYSAPSSO。
因此,不确定要对SAML配置进行哪些更改以使其成功通过浏览器将用户登录到AS ABAP系统?
任何帮助,我们都应感谢方向。
嗨,保罗,我不太了解您的情况。
您必须注意三个步骤:
您的AS JAVA用户ID和用户存储库是什么?
您的AS是什么 ABAP用户ID? (是否需要映射?)
总是为原始系统(在本例中为AS JAVA)创建MYSAPSSO2票证,该票证包含原始系统SID(例如" J2E"),客户端(默认为" 000" AS JAVA),用户ID和后端的映射SSO用户ID。
致谢,Lutz
嗨,Lutz,感谢您提供信息。 这是对我的方案的更好描述:*注意,我正在使用此SAP Wiki中提供的解决方案:
https://wiki.scn.sap.com/wiki/display/Security/ Single + Signing + with + SAML + 2.0 + and + ABAP + Systems + Supporting + SAP + Logon + Tickets
1)已将JAVA设置为服务提供者
2)已将外部组设置为身份提供者
3)已设置两个SAML IP和SP之间的信任关系
4) 由于UME不存储用户ID,因此已使用虚拟用户标识在SAML SP上已设置联盟。
*此外,来自身份提供者的用户的ID与目标ABAP系统中的ID相同。
5)已将目标ABAP系统设置为信任AS Java系统。
6 )SAP提供的Java应用程序用于将用户重定向到Identity Provider进行身份验证,身份验证后将其返回到Java应用程序,该Java应用程序将评估SAML响应,对用户进行身份验证,创建登录票证并将用户重定向回 最初访问的应用程序。
6)在ABAP系统上,已链接到Java应用程序以启动所有这些程序。 此时,已经遵循了Wiki中列出的所有步骤,并且在Java应用程序中创建了一个MYSAPSSO2 cookie,并将其发送到ABAP系统(该系统已设置为接受登录票)。
但是,用户仍未登录,并且在Java日志中,唯一的警告是此登录错误,SAML2LoginModule的LOGIN FAILED登录失败,指出"由于缺少凭据而导致的身份验证挑战"。
还有其他想法吗? 赞赏反馈。
Paul
嗨Paul,
Uups,我根本不知道临时用户完全可以在AS JAVA上工作。
请放心:您的ABAP系统太旧,无法单独执行SAML2身份验证?
对于AS JAVA端的错误分析,您是否已经使用NWA->故障排除->日志和跟踪中提供的"安全故障排除向导"? 通常,这对于获取登录问题的更详细的错误信息很有帮助。
祝您好运! 卢茨
一周热门 更多>