一个参与者使用交易给 update/add 另一个参与者
A participant using transaction to update/add another participant
假设我分别创建了两个Participant type A和B,以及一个只能由participant type B或admin执行的交易X。
此外,我添加了一些权限规则,参与者 A 只能由管理员或其他 A 类型的参与者 created/updated
现在,我在事务 X 中的逻辑需要参与者 A 的 creation/updating。因此,如果我使用参与者 B 注册表 ID 之一执行事务 X,它是否能够 create/update 参与者 A?
如果不行,那有什么办法吗?
如果我没有正确理解您的要求,那么这些规则应该适用于您想要的核心内容:
(此示例使用默认的基本示例网络)
rule BforX {
description: "Allow B access to transaction X"
participant: "org.example.basic.SampleParticipantB"
operation: READ, CREATE, UPDATE
resource: "org.example.basic.SampleTransactionX"
action: ALLOW
}
rule BforAinX {
description: "Allow B access to A whilst in X"
participant: "org.example.basic.SampleParticipantB"
operation: READ, CREATE, UPDATE
resource: "org.example.basic.SampleParticipantA"
transaction: "org.example.basic.SampleTransactionX"
action: ALLOW
}
rule NotAforX {
description: "Deny A access to transaction X"
participant: "org.example.basic.SampleParticipantA"
operation: ALL
resource: "org.example.basic.SampleTransactionX"
action: DENY
}
rule AforA {
description: "Allow A access to Participant_A"
participant: "org.example.basic.SampleParticipantA"
operation: READ, CREATE, UPDATE
resource: "org.example.basic.SampleParticipantA"
action: ALLOW
}
假设我分别创建了两个Participant type A和B,以及一个只能由participant type B或admin执行的交易X。
此外,我添加了一些权限规则,参与者 A 只能由管理员或其他 A 类型的参与者 created/updated
现在,我在事务 X 中的逻辑需要参与者 A 的 creation/updating。因此,如果我使用参与者 B 注册表 ID 之一执行事务 X,它是否能够 create/update 参与者 A?
如果不行,那有什么办法吗?
如果我没有正确理解您的要求,那么这些规则应该适用于您想要的核心内容: (此示例使用默认的基本示例网络)
rule BforX {
description: "Allow B access to transaction X"
participant: "org.example.basic.SampleParticipantB"
operation: READ, CREATE, UPDATE
resource: "org.example.basic.SampleTransactionX"
action: ALLOW
}
rule BforAinX {
description: "Allow B access to A whilst in X"
participant: "org.example.basic.SampleParticipantB"
operation: READ, CREATE, UPDATE
resource: "org.example.basic.SampleParticipantA"
transaction: "org.example.basic.SampleTransactionX"
action: ALLOW
}
rule NotAforX {
description: "Deny A access to transaction X"
participant: "org.example.basic.SampleParticipantA"
operation: ALL
resource: "org.example.basic.SampleTransactionX"
action: DENY
}
rule AforA {
description: "Allow A access to Participant_A"
participant: "org.example.basic.SampleParticipantA"
operation: READ, CREATE, UPDATE
resource: "org.example.basic.SampleParticipantA"
action: ALLOW
}