Как упомянуто david_k - контекст ваших правил (выше) относительно ВСЕХ правил в permissions.acl был бы необходим, чтобы понять, почему вы видели, что вы сделали.
Из разговора в Rocketchat следует, что проблема была связана с ЗАКАЗОМ правил в наборе правил, то есть более «общее» правило оценивается перед «конкретным» правилом в оценке лексических правил и находит совпадение (поэтому последующее «конкретное» правило не оценивалось, поэтому изначально вы видели эти результаты).
Пример этого показан ниже:
'ПРАВИЛЬНЫЙ ЗАКАЗ'
// specifically allow users to see historian records they invoked
rule historianAccess{
description: "Only allow members to read historian records referencing transactions they submitted."
participant(p): "org.blockknowhow.com.Users"
operation: READ
resource(r): "org.hyperledger.composer.system.HistorianRecord"
condition: (r.participantInvoking.getIdentifier() == p.getIdentifier())
action: ALLOW
}
// prevent users from seeing historian records
rule hidehistorianAccess{
description: "Deny access to Historian"
participant: "org.blockknowhow.com.Users"
operation: READ
resource: "org.hyperledger.composer.system.HistorianRecord"
action: DENY
}
против 'НЕПРАВИЛЬНЫЙ ЗАКАЗ' :
rule hidehistorianAccess{
description: "Deny access to Historian"
participant: "org.blockknowhow.com.Users"
operation: READ
resource: "org.hyperledger.composer.system.HistorianRecord"
action: DENY
}
rule historianAccess{
description: "Only allow members to read historian records referencing transactions they submitted."
participant(p): "org.blockknowhow.com.Users"
operation: READ
resource(r): "org.hyperledger.composer.system.HistorianRecord"
condition: (r.participantInvoking.getIdentifier() == p.getIdentifier())
action: ALLOW
}