Corda用户权限无法正常工作

时间:2020-02-04 19:14:40

标签: blockchain corda

使用Corda 4.3 o / s cordapp示例。运行deploNodes gradle任务。我添加了另一个流com.example.flow2.ExampleFlow2以测试user2。仅当用户获​​得对InvokeRpc.startTrackedFlow的许可(这是可以理解的)时,它才可以调用该流。但是,用户随后也可以调用com.example.flow.ExampleFlow,这不会发生。我的node.conf安全块如下。知道出了什么问题吗?

security {
    authService {
        dataSource {
            type=INMEMORY
            users=[
                {
                    password=test
                    permissions=[
                        ALL
                    ]
                    user=user1
                },
                {
                    password=test
                    permissions=[                    
                        "InvokeRpc.wellKnownPartyFromX500Name",
                        "InvokeRpc.startTrackedFlow",
                        "StartFlow.com.example.flow2.ExampleFlow2"
                    ]
                    user=user2
                }
            ]
        }
    }
}

2 个答案:

答案 0 :(得分:2)

您似乎已解决了该问题。

您的权限看起来正确,我建议像您一样查看用户身份验证方面发生的情况。事实证明这是一个SSL问题,我并不感到惊讶。

感谢您使用Corda!

答案 1 :(得分:0)

更新:

显然,在您的RPC用户权限中添加InvokeRpc.startTrackedFlow可以赋予“超级用户”权力,并允许您的用户运行所有流
如果删除该权限;您的流量限制将正常运行。

请参阅有关问题here的最后几条评论。