如何保存数据库用户名和密码Spring Boot项目

时间:2019-05-27 08:17:43

标签: java spring spring-boot security application.properties

在尝试为Java项目创建安全的生产环境时,应在哪里保存数据库用户名,密码和url,以确保安全, 目前,我正在使用应用程序属性来保存数据库凭据,这建议了一种保留数据库凭据的好方法。

application.properties

# This should be used only for credentials and other local-only config.
spring.datasource.url = jdbc:postgresql://localhost/database
spring.datasource.username = root
spring.datasource.password = root@123

我应该在哪里保存和生产Spring Boot项目

1 个答案:

答案 0 :(得分:1)

使用Spring Boot时,可以在应用程序启动时传递数据库连接参数。

例如java -jar your-spring-boot-app.jar -Dspring.datasource.url=jdbc:postgresql://localhost/database ...

您还可以将它们设置为系统环境变量:

export SPRING_DATASOURCE_URL="jdbc:postgresql://localhost/database" 然后只需照常启动您的应用即可。

这样,您仅将连接参数存储在服务器上即可实际使用它们,并防止意外将它们检查到代码版本控制系统中。

请参阅https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

要提高安全性,您可以使用https://projects.spring.io/spring-vault/或外部配置服务器https://spring.io/projects/spring-cloud-config