Hyperledger composer 参与者数组的权限



我正在Hyperledger作曲家中创建资产,如下所示。我想在 Bank[] 数组中添加参与者(这些银行只有只读访问权限(。在 Permission.acl 文件中,如果此资产存在参与者(只读(,我如何写入签入数组(Bank[](的条件

资产定义:

asset Details identified by detailsId {
o String detailsId
o String description optional
--> Bank owner
--> Bank[] access optional
o String document 
}

如下所示 - a( 如果它不为空,b( 如果银行的参与者获得授权(通过检查数组( - 如果是这样,允许 READ 访问(如果我没看错(。

rule checkParticipant {
description: "check Participant is from allowed Bank"
participant(p): "org.acme.account.BankTeller"
operation: READ
resource(v): "org.acme.account.Details"
condition: ( v.access && v.access.indexOf(p.getIdentifier()) > -1 )
action: ALLOW
}

或条件(如下所示(,如果情况是问题:

condition: ( v.access && v.access.toLowerCase().indexOf(p.getIdentifier().toLowerCase()) > -1 )

此规则应该可以解决问题,尽管您的命名空间可能不同。 假设您有其他规则来允许访问银行参与者注册表。

rule AllowAccessToBankInArray {
description: "Allow access "
participant(p): "com.example.Bank"
operation: ALL
resource(r): "com.example.Details"
condition: (
r.access.some(function (bank) {
return bank.getIdentifier() === p.getIdentifier();  
} )
)

最新更新