我正试图将RPC权限、用户及其密码放在外部数据库中。我遵循了Corda v.3.3的文件(https://docs.corda.net/clientrpc.html#rpc-安全管理(。
它说我需要为有问题的节点创建一个"安全"字段,并填写所有必要的信息。我已经完成了,但一旦我尝试部署节点,就会出现以下错误:
"无法为net.corda.plugins.Node类型的对象设置未知属性'security'。">
节点的信息在build.gradle文档中如下所示:
node {
name "O=myOrganisation,L=Lisbon,C=PT"
p2pPort 10024
rpcSettings {
address("localhost:10025")
adminAddress("localhost:10026")
}
security = {
authService = {
dataSource = {
type = "DB"
passwordEncryption = "SHIRO_1_CRYPT"
connection = {
jdbcUrl = "localhost:3306"
username = "*******"
password = "*******"
driverClassName = "com.mysql.jdbc.Driver"
}
}
}
}
cordapps = [
"$project.group:cordapp:$project.version"
]
}
您混淆了两种语法:
- 在
Cordform
任务(如deployNodes
(内配置node
块的语法 - 直接通过
node.conf
配置节点的语法
安全设置适用于node.conf
内部。您必须首先创建节点,然后在创建后使用这些设置修改节点的node.conf
。
Corda 4将引入extraConfig
选项,用于Cordfrom
node
块中,如本文所述。