【问题标题】:How can I configure security per node in Corda using Gradle?如何使用 Gradle 在 Corda 中配置每个节点的安全性?
【发布时间】:2018-08-02 00:07:46
【问题描述】:

我想使用 Gradle 将安全属性添加到我的节点配置中。我正在尝试执行以下操作:

node {
name "O=Bank_A,L=New York,C=US"
p2pPort 10005
rpcSettings {
address("localhost:10006")
adminAddress("localhost:10046")
}
h2Port 9005
cordapps = [
"$project.group:bank-abc:$project.version",
"$project.group:shared-contracts-states:$project.version",
"$corda_release_group:corda-finance:$corda_release_version"
]

security = {
   authService = {
      dataSource = {
         type = "DB"
         passwordEncryption = "SHIRO_1_CRYPT"
         connection = {
             jdbcUrl = "jdbc:h2:tcp://10.0.75.1:9014/node"
             username = "some user"
             password = "some pass"
             driverClassName = "org.h2.Driver"
             }
          }
       }
    }
}

当我执行 gradlew deployNodes.我收到以下错误:

  • 出了什么问题:

评估根项目“tbs-term-reciprocal-dapp”时出现问题。

无法为 net.corda.plugins.Node 类型的对象设置未知属性“安全性”。

【问题讨论】:

    标签: corda


    【解决方案1】:

    为了添加安全配置,您需要在节点的 Gradle 脚本中使用 extraConfig。

    以您的示例为例,extraConfig 将如下所示:

    extraConfig = [
        security : [
            authService : [
                dataSource : [
                    type: "DB",
                    passwordEncryption: "SHIRO_1_CRYPT",
                    connection : [
                        jdbcUrl: "jdbc:h2:tcp://10.0.75.1:9014/node",
                        username: "sa",
                        password: "",
                        driverClassName: "org.h2.Driver"
                    ]
                ]
            ]
        ]
    ]
    

    【讨论】:

    • Cais - 在 build.gradle 中配置此设置后,输出文件 node.conf 没有 rpcUsers 字段,但默认情况下存在。我必须手动删除它。这是一个错误吗?我们可以在 V4 中对其进行改进。
    猜你喜欢
    • 2018-11-06
    • 1970-01-01
    • 2020-12-29
    • 1970-01-01
    • 2021-01-01
    • 1970-01-01
    • 2020-03-17
    • 2019-07-29
    • 2018-01-04
    相关资源
    最近更新 更多