使用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
}
]
}
}
}
答案 0 :(得分:2)
您似乎已解决了该问题。
您的权限看起来正确,我建议像您一样查看用户身份验证方面发生的情况。事实证明这是一个SSL问题,我并不感到惊讶。
感谢您使用Corda!
答案 1 :(得分:0)
更新:
显然,在您的RPC用户权限中添加InvokeRpc.startTrackedFlow
可以赋予“超级用户”权力,并允许您的用户运行所有流。
如果删除该权限;您的流量限制将正常运行。
请参阅有关问题here的最后几条评论。