首页 文章

Flywaydb Spring Boot和Jasypt - flywaydb无法使用解密属性

提问于
浏览
0

我为flywaydb Spring启动了配置,完全按照以下链接运行https://flywaydb.org/documentation/plugins/springboot

Flyway使用默认数据源,通过application.properties提供给它 - 条目是

spring.datasource.url= <DB_URL>
spring.datasource.username=testdb
spring.datasource.password=dbpass

现在我将JASYPT添加到应用程序,以便我可以加密密码 .

<dependency>
                <groupId>org.jasypt</groupId>
                <artifactId>jasypt-spring31</artifactId>
                <version>1.9.2</version>
            </dependency>

我使用JASYPT命令行加密密码并将其更新为文件,即

spring.datasource.password= ENC(EFXC0ORLK+Uy6f)

然后在java端,添加了一个Bean,它使用静态方法使用 org.jasypt.spring31.properties.EncryptablePropertyPlaceholderConfigurer 加载属性

此外,我已确保上面的Bean实际上使用 Logger 解密密码 .

But whenever I run my app it fails with error FATAL: password authentication failed for user - 不知何故,spring在获取解密之前正在使用这些属性 .

有任何想法吗?谢谢

2 回答

  • 0

    这非常简单 . 请在下面找到博客 .

    http://blog.trifork.com/2014/12/09/integrating-flywaydb-in-a-spring-framework-application/

    本文讨论使用spring配置flyway . 由于您已经配置了spring boot,因此可以使用数据源来注入flyway bean . 您可以使用Jasypt加密您的属性 . Spring将使用jasypt解密属性后创建数据源 .

  • 0

    有同样的问题,它看起来像飞路上的一个错误 .

    解决方法是设置 spring.flyway.password=ENC(...)

相关问题