除了限制整个组织之外,是否有可能进一步微调 Hyperledger Fabric 私有数据集合中的访问控制?
Is it possible to fine-tune access control in Hyperledger Fabric private data collections further than restricting entire organizations?
在 Hyperledger Fabric Docs 中,在阅读有关私有数据收集的内容时,我遇到了关于 memberReadOnly 的这句话:
Utilize a value of false if you would like to encode more granular access control within individual chaincode functions.
如果我理解正确,这允许我编写智能合约规范,允许我将控制限制在例如。一个组织的特定客户,而不是成员组织的所有同行。
如果是这样,我很好奇如何在合同中做到这一点。是否有一种特定的方法来处理访问控制,或者是否由我自行决定编写代码来执行它?如果你能给我提供任何例子,那将非常有帮助。
为了澄清我的意思,我来自以太坊,我主要想问的是在 solidity 中是否有类似 require 方法的东西,或者我会只使用一个简单的 if。
感谢您的帮助。如果您关闭错误站点的问题,请将我指向正确的位置,因为我找不到更相关的地方。
你没有理解正确。
将这个值(memberOnlyRead
)设置为true
意味着如果一个客户端向一个peer发送了一个proposal,并且客户端不在collection中,那么如果peer在collection中并且可以访问数据——无论智能合约怎么说,它都会自动拒绝并报错。
如果它为 false,则对等方不会强制执行此类操作,然后您可以更自由地为客户端编写您想要的任何访问控制逻辑。
在 Hyperledger Fabric Docs 中,在阅读有关私有数据收集的内容时,我遇到了关于 memberReadOnly 的这句话:
Utilize a value of false if you would like to encode more granular access control within individual chaincode functions.
如果我理解正确,这允许我编写智能合约规范,允许我将控制限制在例如。一个组织的特定客户,而不是成员组织的所有同行。
如果是这样,我很好奇如何在合同中做到这一点。是否有一种特定的方法来处理访问控制,或者是否由我自行决定编写代码来执行它?如果你能给我提供任何例子,那将非常有帮助。
为了澄清我的意思,我来自以太坊,我主要想问的是在 solidity 中是否有类似 require 方法的东西,或者我会只使用一个简单的 if。
感谢您的帮助。如果您关闭错误站点的问题,请将我指向正确的位置,因为我找不到更相关的地方。
你没有理解正确。
将这个值(memberOnlyRead
)设置为true
意味着如果一个客户端向一个peer发送了一个proposal,并且客户端不在collection中,那么如果peer在collection中并且可以访问数据——无论智能合约怎么说,它都会自动拒绝并报错。
如果它为 false,则对等方不会强制执行此类操作,然后您可以更自由地为客户端编写您想要的任何访问控制逻辑。