Solon v3.3.0

数据源之“配置加密”

</> markdown

数据源配置加密,基于插件 solon-security-vault 插件 实现。如何生成密文,如何定制算法,要参考插件的说明。

方案1:使用 solon.dataSources 配置

这个方案(数据源是自动构建的),在自动构建数据源时,自动支持加解密处理。

solon.vault:
  password: "liylU9PhDq63tk1C"

solon.dataSources:
  "db_order!": #数据源(!结尾表示 typed=true)
    class: "com.zaxxer.hikari.HikariDataSource"
    driverClassName: "xx"
    jdbcUrl: "xxx"
    username: "ENC(xo1zJjGXUouQ/CZac55HZA==)"
    paasword: "ENC(XgRqh3C00JmkjsPi4mPySA==)"

方案2:使用 @VaultInject 注解

这个方案,配置可以随意。是在配置注入时自动解密。

solon.vault:
  password: "liylU9PhDq63tk1C"

test.db1:
  url: "..."
  username: "ENC(xo1zJjGXUouQ/CZac55HZA==)"
  password: "ENC(XgRqh3C00JmkjsPi4mPySA==)"

代码应用

@Configuration
public class TestConfig {
    @Bean("db2")
    private DataSource db2(@VaultInject("${test.db1}") HikariDataSource ds){
        return ds;
    }
}