点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
尝试使用ODATA服务udpdate操作时出现错误。
CSRF已启用,我们能够成功检索CSRF令牌和会话,但是更新操作失败,并显示" 无效或缺少CSRF令牌" 。
我们用于HTTP基本身份验证的用户是系统/服务用户。 有趣的是,如果我们将该用户更改为对话框用户,则一切正常,并且能够成功执行更新操作。
这是否意味着对于使用CSRF令牌的更新操作,始终必须强制使用对话框用户,并且不允许系统/服务用户使用?
非常感谢您的宝贵时间。
此致
C。
嗨,
您是否在标头中发送了提取的x-csrf令牌以及更新操作? 请确保您在请求的标头中发送令牌,标头应为x-csrf-token(无大写字母)。
我假设您还将在更新时发送基本身份验证凭据 请求? (强制性)
据我所知,更新操作不限于对话框用户。 (我正在使用客户的服务用户进行某些OData调用,包括创建,更新和删除操作)
最诚挚的问候
Geert-Jan Klaps
# p#嗨查尔斯
您是否找到解决此问题的方法? 我面临着同样的事情:使用服务用户,无法获取csrf令牌(在UI5端未定义),并且修改请求被阻止。 不知道这是否相关,但是查看SM05,服务用户没有会话。 例如,使用基本身份验证切换到对话框用户可以解决所有问题。
为该特定服务禁用csrf是一种解决方案(将CHECK_CSRF_TOKEN设置为0),但是IMO应该对此行为提供更好的解决方案或解释。
非常感谢您的回复Geert- 扬·克拉普斯。
是的,正如您所提到的,我将在标头中发送令牌,并使用基本身份验证进行更新。
如果我将使用的用户更改为对话框用户,则一切正常,而无需进行任何更改。
我会尝试深入研究。
非常感谢您的答复。
C。
一周热门 更多>