我正在使用Hyperledger Composer编写数据管理系统。我知道.acl和.cto文件,但是我不知道如何通过事务添加添加(和保存)权限(=在运行时)。
用例示例:
一个人可以保存每位医生的所有患者权限列表,并将其姓名添加到列表中,这是一项仅限患者的事务,但是建模语言不允许列表,仅允许数组。
有人有想法吗? :)
答案 0 :(得分:0)
建议检出Composer示例网络中的代码示例-此PII(个人身份信息)网络与您要实现的功能类似(通过(在这种情况下)标识符来控制对患者记录的访问)医师)https://github.com/hyperledger/composer-sample-networks/blob/master/packages/pii-network/lib/logic.js。
您的ACL显然可以编写为控制对患者记录的访问(即,他/她已同意),并且仅基于ACL中的条件检查来访问匹配的医师标识符-使用类似内容的示例可以在此堆栈溢出中找到-> Hyperledger-Composer: ACL-rules with condition of type (r.someArray.indexOf(p.getIdentifier()) > -1) not working
我想说的是,每个患者拥有一组授权医师会更好(即,比起相反的情况,医生可能每次要检查很多患者ID的情况要少得多)。从理论上讲,您的数组大小是JavaScript约束(堆大小等),但请参见此处的讨论-> Maximum size of an Array in Javascript