关于超级账本编辑器中用于实现业务网络的访问控制



我尝试使用作曲家来开发一个区块链Web应用程序。 我编写".acl"文件来实现访问控制,并且还向不同的参与者颁发了不同的ID,然后启动REST服务器。

接下来我想问的是,REST 服务器如何识别我的身份?

就像,一种参与者被命名为"交易者",我指定"交易者"无法访问链码中的函数"A",但REST服务器生成了"A"的API,然后我编写一个简单的html文件并向localhost:3000发送POST请求,我可以直接调用这个函数。我什至不知道我通过什么样的身份访问这个界面。

我对此感到困惑,有人可以帮助我吗?

还记得你是如何启动 REST 服务器的吗?您必须指定业务网卡,并且很可能是具有所有读写权限的管理员的卡。另外,您很可能禁用了护照身份验证

有了这两个元素,当然,您始终可以通过调用任何可用的 API 函数来执行任何操作。

您可以参考护照认证说明,composer-rest-server实施您的认证方案。

您应该在 ACL 权限文件中为某些组(例如"患者"、"医生"、"付款人"(编写允许的规则。请参阅 https://hyperledger.github.io/composer/latest/reference/acl_language 中的"授予网络访问控制"部分,其中包含一些非常相似的示例。

如果由错误的实体尝试,非法 API 调用将失败。

最新更新