Blockchain Corda用户权限未按预期工作

Blockchain Corda用户权限未按预期工作,blockchain,corda,Blockchain,Corda,使用Corda 4.3 o/s cordapp示例。运行deploNodes-gradle任务。我添加了另一个flow com.example.flow2.ExampleFlow2来测试user2。用户只有在获得调用rpc.starttrackdflow的权限时才能调用流,这是可以理解的。但是,用户也可以调用com.example.flow.ExampleFlow,这是不应该发生的。node.conf的安全块如下所示。知道出了什么问题吗 security { authService {

使用Corda 4.3 o/s cordapp示例。运行deploNodes-gradle任务。我添加了另一个flow com.example.flow2.ExampleFlow2来测试user2。用户只有在获得调用rpc.starttrackdflow的权限时才能调用流,这是可以理解的。但是,用户也可以调用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
                }
            ]
        }
    }
}

看来你解决了这个问题

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


感谢您使用corda

更新:

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


请参阅关于该问题的最后几条评论。

我也有同样的观察,并在Corda存储库中打开了一个问题,他们关闭了该问题()并打开了一个相关的JIRA()。谢谢Adel。最近的。您是否测试过密码加密(SHIRO_1_CRYPT)?这是我名单上的下一个。我完成了对SSL的测试,它可以工作。不,我没有,我会尝试一下。我尝试过,它可以工作,但该功能仅适用于RPC用户的密码,您不能将其用于
node.conf
中的其他密码,例如DB password。好的。谢谢你,阿德尔。