关于hyperledger composer中的访问控制实现业务网络
About access control in hyperledger composer to implement a business network
我尝试使用 composer 开发区块链网络应用程序。
我写了“.acl”文件来实现访问控制,我也给不同的参与者分配了不同的ID,然后我启动了REST服务器。
接下来我想问的是,REST服务器如何识别我的身份?
就像,一种参与者被命名为"trader",我指定"trader"不能访问链代码中的函数"A",但是REST服务器生成API的"A",然后我写一个简单的html文件,发送一个POST请求给localhost:3000,我就可以直接调用这个函数了。我都不知道我是用什么身份访问这个界面的
我对此感到困惑,有人可以帮助我吗?
还记得您是如何启动 REST 服务器的吗?您必须指定一张 业务网卡 ,并且它可能是管理员拥有所有读写权限的卡。同样很可能,您禁用了 使用护照 的身份验证。
有了这两个元素,您当然可以随时调用任何可用的 API 函数来做任何事情。
您可以参考 passport authentication instructions composer-rest-server
来实施您的身份验证方案。
您应该在 ACL 权限文件中为某些组(例如 "patients"、"doctors"、"payers")编写允许的规则。请参阅 https://hyperledger.github.io/composer/latest/reference/acl_language 中的 "Granting Network Access Control" 部分,其中包含一些非常相似的示例。
如果错误的实体尝试进行非法 API 调用,那么就会失败。
我尝试使用 composer 开发区块链网络应用程序。 我写了“.acl”文件来实现访问控制,我也给不同的参与者分配了不同的ID,然后我启动了REST服务器。
接下来我想问的是,REST服务器如何识别我的身份?
就像,一种参与者被命名为"trader",我指定"trader"不能访问链代码中的函数"A",但是REST服务器生成API的"A",然后我写一个简单的html文件,发送一个POST请求给localhost:3000,我就可以直接调用这个函数了。我都不知道我是用什么身份访问这个界面的
我对此感到困惑,有人可以帮助我吗?
还记得您是如何启动 REST 服务器的吗?您必须指定一张 业务网卡 ,并且它可能是管理员拥有所有读写权限的卡。同样很可能,您禁用了 使用护照 的身份验证。
有了这两个元素,您当然可以随时调用任何可用的 API 函数来做任何事情。
您可以参考 passport authentication instructions composer-rest-server
来实施您的身份验证方案。
您应该在 ACL 权限文件中为某些组(例如 "patients"、"doctors"、"payers")编写允许的规则。请参阅 https://hyperledger.github.io/composer/latest/reference/acl_language 中的 "Granting Network Access Control" 部分,其中包含一些非常相似的示例。
如果错误的实体尝试进行非法 API 调用,那么就会失败。