我想创建一个公开的 OData 服务,因此不需要用户名和密码验证。有什么办法可以做到吗?
最佳答案
是的,这是可能的。但也有限制。
您将 OData 服务(TCode:SICF)的 ICF 节点 (sap/opu/odata/...) 配置为使用技术用户及其密码在此 ICF 节点中进行身份验证(最佳实践:创建外部别名以便原始 OData 节点应用您的自定义身份验证过程)。然后后端 session 始终由技术用户及其各自的授权处理。
当我为 UI5 应用程序及其 OData 服务执行此操作时,我遇到了 CSRF token 和 POST 请求的问题。
有一个 SAP 注释解释了如何禁用 CSRF token 处理来克服此限制(不推荐且未经我测试)。
在我的用例中,仅使用 GET 请求就足够了。在 UI5 应用程序中,必须为此禁用 Odata 模型中的批处理。
关于odata - 如何实现 ABAP OData 服务为公共(public)服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76373749/