【发布时间】: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