use*_*765 11 spring jasypt spring-boot
我们使用Jasypt来加密一些配置属性(数据库密码),但由于解密密钥存储在每个环境的文件系统中,我们必须进行一些手动@Bean配置以从文件加载密码,然后使用EncryptablePropertiesPropertySource.
因为它是如此手动,我们不得不@PostConstruct在WebApplicationConfig类中运行此代码并且(虽然这还没有发生),但是在数据源bean配置了对Environment- 给出空指针异常的调用之后,它会冒着加载这些代码的风险. @Lazy加载是一个选项,但显然这意味着我们将使用脆弱的配置,我们希望避免.
最终我们希望能够使用默认设置,classpath:application.properties因此不希望影响现有(默认)设置,但我们确实希望能够使用加密属性源作为Spring的完全替代,并使Spring加载在发生任何其他事件之前从文件中解密代码.有没有办法在应用程序启动和配置早期更紧密地集成加载加密属性?
Uli*_*ses 11
我正在"剪裁"我之前的答案,因为它被删除,因为它是一个不同的问题重复:
这个库正是你所需要的jasypt-spring-boot,它基本上允许你使用@PropertySource注释以你习惯的方式定义你的属性.您只需要在配置文件中添加一个额外的注释(@EnableEncryptableProperties).它不仅限于此,环境中存在的每个PropertySource都将转换为EncryptablePropertySourceWrapper,这是一个自定义包装器,用于检查属性何时加密并在访问时对其进行解密.
| 归档时间: |
|
| 查看次数: |
11352 次 |
| 最近记录: |