Доступ / разрешения на уровне пользователя в Hyperledger Fabric - PullRequest
0 голосов
/ 10 января 2019

Я использую пример Fabcar в Hyperledger Fabric (1.4), я хочу создать пользователя, используя registerUser.js в примере Fabcar, который будет иметь только чтение доступ к коду цепи , поэтому, когда я запускаю query.js , я должен получить результат queryAllCars , но тот же пользователь не должен иметь возможность запускать invoke.js createCar (предотвращение записи доступ к коду цепи).

Итак, что нужно сделать для реализации описанного выше сценария (без использования composer)?

  1. Как реализовать ролевый доступ на уровне сети?
  2. Как реализовать доступ на основе ролей на уровне кода цепочки?

Я запускаю приложение Fabcar из образцов ткани, используя докер.

Если я указываю роль как пользователя при регистрации пользователя в registerUser.js в примере Fabcar const secret = await ca.register({ affiliation: 'org1.department1', enrollmentID: 'user1', role: 'user' }, adminIdentity);

тогда этот пользователь должен иметь возможность только запрашивать код цепочки, но не сможет его вызывать.

1 Ответ

0 голосов
/ 10 января 2019

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

const ClientIdentity = require('fabric-shim').ClientIdentity;
let clientIdentity = new ClientIdentity(stub);
if (client.getMSPID() === 'user') {
  return;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...