gpt4 book ai didi

spring - 在 Spring 4/Boot 中完全集成加密属性

转载 作者:IT老高 更新时间:2023-10-28 13:46:40 26 4
gpt4 key购买 nike

我们正在使用 Jasypt 加密一些配置属性(数据库密码),但由于解密 key 存储在每个环境的文件系统中,我们必须进行一些手动 @Bean 配置来加载密码然后该文件使用 EncryptablePropertiesPropertySource 覆盖加载属性。

因为它是如此手动,我们不得不在 WebApplicationConfig 类的 @PostConstruct 中运行此代码,并且(尽管这还没有发生)它运行在数据源 bean 配置了对 Environment 的调用之后加载这些的风险 - 给出空指针异常。 @Lazy 加载是一种选择,但显然这意味着我们将使用我们希望避免的脆弱配置。

最终我们希望能够使用默认的 classpath:application.properties 所以不想影响现有的(默认)设置,但我们确实希望能够使用可加密的属性源作为 Spring 的完全替代,并让 Spring 在其他任何事情发生之前从文件中加载解密代码。有没有办法在应用程序启动和配置的早期更紧密地集成加载可加密属性?

最佳答案

我正在“剪裁”我之前的答案,因为它被删除了,因为它与另一个问题重复:

这个库完全满足您的需求jasypt-spring-boot这基本上是为了允许您使用 @PropertySource 注释以与您习惯相同的方式定义您的属性。您只需在配置文件中添加一个额外的注释 (@EnableEncryptableProperties)。不仅限于此,Environment 中存在的每个 PropertySource 都将转换为 EncryptablePropertySourceWrapper,这是一个自定义包装器,用于检查属性何时被加密并在访问时对其进行解密。

关于spring - 在 Spring 4/Boot 中完全集成加密属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26095821/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com