【发布时间】:2019-02-01 00:10:36
【问题描述】:
我正在使用织物 cid 作为链码 ABAC。它工作正常;但是一旦更新了身份属性(通过节点 sdk),ABAC 就没有按预期工作。
我的工作流程:
1.通过节点SDK注册和注册身份。
Ex 值,
attrs: [ {"name": "role", "value": "client", "ecert": true} ]
2.Chaincode 调用。 ABAC 按预期工作。
身份,错误:= cid.New(stub)
err = identity.AssertAttributeValue("role", "client")
- 更新身份属性(角色 -> 用户)
Ex 值,
attrs: [ {"name": "role", "value": "user", "ecert": true} ]
- 链码调用。条件相同的 ABAC 错误。
当我记录属性时,我发现身份仍然带有旧的角色(客户端)而不是更新的值(用户);但是 fabric-ca-server.db 用户表具有最新的属性值(用户)。这里有点困惑!
我是否缺少任何步骤?谁能帮我找出造成这种情况的确切原因?
编辑:
Fabric v1.4
【问题讨论】:
-
我假设您重新注册用户以“下拉”具有更新属性的新证书?
-
@RThatcher,不;我做了以下身份更新:identityService.update 删除身份:identityService.delete -> wallet.delete....顺便说一句,你能告诉我流程更新和删除身份?
标签: hyperledger-fabric hyperledger hyperledger-fabric-ca