除了在每个服务实现方法中手动编写代码以检查是否允许请求之外,是否有标准方法来更改用户能够调用SAP网关服务的某些odata资源的运行时权限?
例如,根据自定义中的某些设置,应禁止用户/foo
下面的/bar
和x
下面的odata路径,即HTTP GET/POST/DELETE <host>:<port>/foo/test
和{{1}应为用户HTTP GET/POST/DELETE <host>:<port>/bar/test
提供HTTP 403,但x
应为HTTP GET/POST/DELETE <host>:<port>/something
。
有没有办法可以在一个地方控制它,而不是要求在实现odata请求的每个方法中实施检查?
答案 0 :(得分:2)
授权检查的适当位置在后端方法中。任何授权错误都应填充回服务并产生403例如。
如果由于某种原因不想要,可以编写自己的HTTP处理程序并将其插入SICF以在所有路径上调用。
标准角色设置仅允许访问或不访问服务,&#34;模式&#34;您所指的访问权缺失。但我真的不明白你为什么会这么想?它会让你的Odata服务对消费者来说是不可预测的,不是吗?