【问题标题】:Dealing with YAML config files and credentials处理 YAML 配置文件和凭据
【发布时间】:2017-11-02 14:00:54
【问题描述】:

对于 Spring Boot 应用程序,选择的部署工件似乎是单个可执行文件、JAR 或 WAR。在一种情况下,我在项目中添加了自己的加密/解密,这样我就可以在没有纯文本凭据的情况下签入我的应用程序配置。如果我使用配置文件构建部署存档,并使用空凭据签入,我必须在打包和部署之前填充凭据。或者,如果我选择在配置文件中使用纯文本凭据,我总是会忘记删除凭据并继续使用可见凭据签入文件。

我在这里写下我的问题,看看是否有人对我们如何管理这个、开发、签入、打包和部署有什么好主意,而不需要围绕 YAML 配置文件进行所有这些操作。

对于 JHipster 应用程序,我的加密/解密解决方案至少可以保护文件免受纯文本的影响,但任何精明的 Java 开发人员都可以使用我的加密实用程序来解码我签入的凭据。

这里最好的策略是什么?我们可以通过一些脚本或 Maven/Gradle 操作轻松添加凭据吗?我愿意改变任何事情。

【问题讨论】:

  • 你应该检查the documentation。如果您不想提交凭据,请不要将您的配置外部化。例如,您可以创建一个单独的application.properties 并将其放在与.JAR/.WAR 相同的文件夹中。或者您可以使用环境变量(例如SPRING_DATASOURCE_USERNAME)。但是,如果您问最佳策略是什么,那对 Stack Overflow 来说是题外话,因为它会导致固执己见的答案。
  • 你有什么建议吗?如果我不在这里,我可以在某个地方得到固执己见的答案?
  • @DavidWhitehurst 不知道。我只知道 Stack Overflow 不是好去处。相关:“Primarily Opinion Based” on “Best Practice” questions。因此,可以针对您的问题提出可能的解决方案,您可以自己选择最佳解决方案,也可以等待社区对答案进行投票。

标签: maven spring-boot gradle jhipster


【解决方案1】:

对我来说,显而易见的解决方案是将配置外部化为本地和部署。而且,如果我可以在我的 git 存储库中覆盖模板配置(没有凭据),我仍然会在本地和存储库中拥有我的配置的模板版本。

【讨论】:

    猜你喜欢
    • 2019-05-24
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    • 2020-05-07
    • 2016-04-02
    • 1970-01-01
    • 2018-11-21
    • 2021-11-13
    相关资源
    最近更新 更多