Hyperledger fabric 限制对资产中某个属性的放置权限

Hyperledger fabric 限制对资产中某个属性的放置权限,hyperledger-fabric,hyperledger-composer,Hyperledger Fabric,Hyperledger Composer,我不想给参与者完全的更新权限,而是想给他对资产中特定属性的更新权限 根据我从文档中读到的内容,可以将规则应用于属性 规则: 我陷入困境的部分是如何在这种情况下瞄准资产。我假设m等于条件中的导师,因为错误消息说参与者没有更新权限。我甚至不确定这是否可能 型号: ACL引擎尚未强制实施属性级访问控制,仅实现了命名空间和类级访问控制 在实现属性的声明性访问控制之前,必须使用getCurrentParticipant运行时API使用编程访问控制 rule PatientAddMentor { d

我不想给参与者完全的更新权限,而是想给他对资产中特定属性的更新权限

根据我从文档中读到的内容,可以将规则应用于属性

规则:

我陷入困境的部分是如何在这种情况下瞄准资产。我假设m等于条件中的导师,因为错误消息说参与者没有更新权限。我甚至不确定这是否可能

型号:


ACL引擎尚未强制实施属性级访问控制,仅实现了命名空间和类级访问控制

在实现属性的声明性访问控制之前,必须使用getCurrentParticipant运行时API使用编程访问控制

rule PatientAddMentor {
    description: "A patient is allowed to add mentors"
    participant(p): "nl.epd.blockchain.Patient"
    operation: UPDATE
    resource(m): "nl.epd.blockchain.MedicalFile.mentors"
    condition: (m.owner.getIdentifier() == p.getIdentifier())
    action: ALLOW
}
namespace nl.epd.blockchain

asset MedicalFile identified by bsn {
  o String                    bsn
  --> Patient                 owner
  --> Patient[]               mentors optional
  --> Organisation[]          organisations optional
  o Visit[]                   visits optional
  o String[]                  allergies optional
  o Treatment[]               treatments optional
  o Medicine[]                medicine optional
}

participant Patient identified by bsn {
  o String bsn
  o String firstName
  o String namePrefix optional
  o String lastName
  o String email
  o String telephoneNumber
  o String birthday
  o String gender
  o String city
  o String zipCode
  o String street
  o String houseNumber
  o String houseNumberExtra optional
}