使用cds.read时,在自定义处理程序/端点中基于CAP的Auth-Check

2020-08-21 22:57发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我正在实施用户授...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在实施用户授权。 在CAP-OData服务中,这可以通过@restrict注释实现。
https://cap.cloud.sap/docs/guides/authorization

不幸的是,我们的节点后端也包含一些REST端点,这些端点通过cds.read在其处理程序中读取实体。 我们注意到这里没有考虑用户只能读取实体的某些条目的权限({Grant:'READ',其中:'foo = $ user.bar'}。

我们如何在这里尽可能简单地实施权限检查? 是否有一个解析器,该属性根据属性(从JWT中提取)生成where子句 分配给用户,然后可以将其传递给cds.read?

最诚挚的问候
Simon

3条回答
歪着头看世界
2020-08-21 23:40

Hi Simon,

从用户属性中构造`where`子句仅发生在内部API中,因此,如果您使用自定义快速中间件,恐怕您需要自己构造那些where子句。

最好的问候,
大卫

一周热门 更多>