【问题标题】:How can put a Permission on function in NODE-SDK of Hyperledger Fabric?如何在 Hyperledger Fabric 的 NODE-SDK 中设置权限?
【发布时间】:2023-03-29 20:15:01
【问题描述】:

在链码开发中,网络中何时有多个组织,以防只有特定组织才能调用链码的特定功能。

Hyperledger Fabric 的 Node-SDK 可以吗?如果可能,那么如何在开发中实施?

【问题讨论】:

    标签: hyperledger-fabric hyperledger blockchain hyperledger-fabric-sdk-js


    【解决方案1】:

    只需使用stub.getCreator() 并探索返回的对象。

    let sender = await stub.getCreator();
    let senderOrg = sender.mspid;
    if(senderOrg=='SpecialOrg'){
        // do your business
    } else {
        // whatever
    }
    

    更多信息直接在interfaces.go:https://github.com/hyperledger/fabric/blob/release-1.4/core/chaincode/shim/interfaces.go

    【讨论】:

    • 感谢您的回答。
    【解决方案2】:

    (身份)基于属性的访问控制 (ABAC) 可以写入智能合约而不是 NodeSDK 客户端应用程序。

    使用 Fabric 1.4 和新的编程模型,Client Identity 对象包含在 Context 对象中,您可以检查属性并根据这些属性编写访问控制逻辑。

    这是doc for the client identity object

    Fabric CA 文档中有一个short section about ABAC

    (ABAC要求你在用户注册的时候添加属性!)

    您可以考虑使用beforeTransaction() 作为实施访问控制的地方。

    could be implemented in a typescript example 有一个“外壳”。

    【讨论】:

    • @R Thatcher,谢谢你的回答,我会检查的。
    猜你喜欢
    • 1970-01-01
    • 2017-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    相关资源
    最近更新 更多