限制对资产中 属性 的 GET 访问
Limit PUT acces to a property within an asset
我不想授予参与者完整的更新权限,而是授予他资产中特定 属性 的更新权限。
根据我从文档中读到的内容,可以将规则应用于 属性。
规则:
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
}
我卡住的部分是如何在条件中定位资产。我假设 (m) 等于条件中的导师,因为错误消息表明参与者没有更新权限。 (我不确定这是否可能。)
型号:
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
}
ACL 引擎尚未实施 属性 级访问控制(仅实施了命名空间和 class 级访问控制)。
在实现属性的声明性访问控制之前,您必须使用 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
}
我卡住的部分是如何在条件中定位资产。我假设 (m) 等于条件中的导师,因为错误消息表明参与者没有更新权限。 (我不确定这是否可能。)
型号:
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
}
ACL 引擎尚未实施 属性 级访问控制(仅实施了命名空间和 class 级访问控制)。
在实现属性的声明性访问控制之前,您必须使用 getCurrentParticipant()
运行时 API 的编程访问控制。