Как поставить разрешение на функцию в NODE-SDK Hyperledger Fabric? - PullRequest
0 голосов
/ 28 марта 2019

В разработке ChainCode, когда иметь в сети несколько организаций, если только конкретная организация может вызвать конкретную функцию кода цепи.

Возможно ли это в Node-SDK hyperledger Fabric?если возможно то как можно реализовать в разработке?

Ответы [ 2 ]

1 голос
/ 28 марта 2019

(идентификация) Управление доступом на основе атрибутов (ABAC) может быть записано в смарт-контракт, а не в клиентское приложение NodeSDK.

В Fabric 1.4 и новой модели программирования объект Client Identity включен в объект Context, и на их основе вы можете проверить атрибуты и написать свою логику управления доступом.

Это документ для объекта идентификации клиента .

И есть краткий раздел об ABAC в документах Fabric CA.

(ABAC требует, чтобы вы добавляли атрибуты пользователям, когда они зарегистрированы!)

Вы можете рассмотреть возможность использования beforeTransaction () в качестве места для реализации вашего контроля доступа.

Существует «оболочка» того, как это может быть реализовано в примере с машинописью .

1 голос
/ 28 марта 2019

Просто используйте stub.getCreator() и изучите возвращенный объект.

let sender = await stub.getCreator();
let senderOrg = sender.mspid;
if(senderOrg=='SpecialOrg'){
    // do your business
} else {
    // whatever
}

Более подробную информацию можно получить непосредственно в interfaces.go: https://github.com/hyperledger/fabric/blob/release-1.4/core/chaincode/shim/interfaces.go

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...