ваше правило, вероятно, будет выглядеть примерно так (так как 'Organization' не является атрибутом этого класса 'system' admin):
rule enableOrg1ToCreateMailers {
description: "Enable admin from org 1 to create Mailers"
participant(t): "org.hyperledger.composer.system.NetworkAdmin"
operation: ALL // (CREATE, READ, UPDATE, DELETE)
resource: "demonetwork1.Mailer"
condition: (t.getIdentifier() == "org1admin")
action: ALLOW
}
Возможно, вы предпочтете определить экземпляр участника как-то так:org.acme.mynetwork.orgadmin
(с полем «организация», которое вы добавляете в модель), а затем используйте его, например.
participant(t): "org.acme.mynetwork.orgadmin"
и ваше исходное условие выше.
Более эффективно предоставлять Организацию(как вы сделали) как атрибут класса участника бизнес-сети, участвующего в создании ресурсов бизнес-сети, поэтому ACL проверяется немедленно ... вместо того, чтобы извлекать его из другого источника, как это было раньше.Я добавил только «ВСЕ» - если одним и тем же администраторам бизнес-сети разрешено выполнять другие операции CRUD с такими ресурсами и т. Д. (Т. Е. Больше, чем операция «СОЗДАТЬ» и т. Д.).
Наконец, пример (хотя и несколько более сложное условие, тем не менее, может дать вам те же принципы) в другом месте показан здесь как полезный ориентир: Включает функцию в условии ACL