CDS注释:具有权限的@ Capabilities.InsertRestrictions

2020-08-16 19:41发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我想限制CDS服务中...

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

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


嗨,

我想限制CDS服务中实体的创建。 只有分配给"创建"范围的用户才可以插入新记录。 我希望禁用或不显示ListView中的" +"按钮。

我对我的实体进行了如下注释(根据本文档

https://github.com/oasis-tcs/odata-vocabularies/blob/master/vocabularies/Org.OData.Capabilities.V1.md#InsertRestrictionsType ):

实体BusinessPartnerGroup @(
     能力:{
         InsertRestrictions:{Insertable:true,权限:[{Scopes:[{Scope:'create'}]}]}},
         UpdateRestrictions:{可更新:true},
         DeleteRestrictions:{可删除:假}},
     限制:[...])作为ds.BusinessPartnerGroup {
上的投影

在UI中," +"按钮是可见的,尽管未将用户分配给"创建"范围。 这是我用调试器分析的请求范围的摘录。

 req.attr.scopes
 (8)["读取","批准"," openid","任何","已验证用户","已标识用户"," openid"," openid"]
 0:"已读"
 1:"批准"
 2:" openid"
 3:'任何'
 4:"已认证用户"
 5:"识别用户"
 6:" openid"
 7:" openid"
 长度:
 

PermissionType中的" SchemeName"有什么用处? 我知道OAuth GrantType,身份验证方案和OData架构。 如果需要的话,我必须在这里使用哪一个?

(37.9 kB)