Hyperledger Fabric通道queryInfo抛出访问被拒绝错误

问题描述 投票:0回答:1

我正在尝试使用节点sdk(https://fabric-sdk-node.github.io/release-1.4/Channel.html - channel.queryInfo())查询频道信息。

我有两个网络设置(网络设置没有由我完成。所以,我不知道有什么区别)。在一个网络中,我能够成功查询。在另一个中,我收到此错误:错误:[GetChainInfo] []访问被拒绝:[在检查策略期间评估签名数据的策略失败[/ Channel / Application / Readers]:[无法达到隐含阈值1子政策,要求1剩余]]

但是,当我用useAdmin = true调用时,即channel.queryInfo(undefined,true)它可以工作。我想知道什么可能导致一个网络中的这种错误,而不是在另一个网络中。创建通道时是否有任何参数允许/禁止非管理员查询?

hyperledger-fabric hyperledger
1个回答
1
投票

通道的ACL的默认字段为

        #ACL policy for qscc's "GetChainInfo" function
        qscc/GetChainInfo: /Channel/Application/Readers

每个组织的Reader都在configtx.yaml中定义

          Policies: &org1Policies
            Readers:
                Type: Signature
                Rule: "OR('org1.example.com.member')"

看起来这就是你的问题所在。确保读者是.member而不是OrgMSP的.admin

© www.soinside.com 2019 - 2024. All rights reserved.