在尝试为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项目
答案 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