我正在将织物cid用于链码 ABAC。它工作正常;但是,一旦更新了身份属性(通过节点 sdk),ABAC 就无法按预期工作。
我的工作流程:
1.通过节点SDK注册和注册身份。
防爆值,
attrs: [ {"name": "role", "value": "client", "ecert": true} ]
2.链码调用。ABAC 按预期工作。
身份,错误:= cid.New(存根)
err = identity.AssertAttributeValue("role", "client")
- 更新身份属性(角色 -> 用户)
防爆值,
attrs: [ {"name": "role", "value": "user", "ecert": true} ]
- 链码调用。相同条件下的 ABAC 错误。
当我记录属性时,我发现身份仍然带有旧角色(客户端)而不是更新值(用户);但是,fabric-ca-server.db users 表具有最新的属性值(用户)。这里有点困惑!
我错过了任何步骤吗?谁能帮我找出造成这种情况的确切原因?
编辑:
面料 v1.4