我们将Dropwizard用作Java框架,将Hibernate用作Mysql DB的ORM。我们将数据库用户的密码存储在配置文件中。因此,到目前为止一切正常。
但是,最近我们遇到了一个问题,即另一个团队的一名开发人员(可以访问我们的代码库)使用我们的数据库用户名和密码登录(意外地)并删除了一些数据。 我们既不能向此类团队隐藏代码库,也不能(由于系统要求)删除数据库用户的删除特权。
在这种情况下,我应该在哪里以及如何存储/指定我们的用户名和密码。
因此,到目前为止,我知道三个选项,而我们将继续进行选项3-
1- Hibernate的persistence.xml
2- Dropiwizard的configuration.yaml
3-在动态配置服务中存储密码,并在我们的数据库配置文件中指定其占位符。
有什么更好/更安全的建议吗?
database:
driverClass: com.mysql.jdbc.Driver
user: <database-user-name>
password: <password or placeholder here>