这是一个类似于 "在MySQL数据库中存储MS SQL Server凭据" 的问题。
理论上,假设我有一个MySQL服务器。我有一个“主”数据库,以及X个其他通用数据库。我的目的是想要使用一款应用程序(举例来说,一个基于PHP运行的Web应用程序)首先访问主数据库。该数据库随后需要告诉该应用程序连接到哪个数据库,并在此过程中提供所有凭据和用户名等信息。
有什么最佳方法可以解决这个问题呢?
目前我已经想到了三种方法:
- 将凭据存储在主数据库中,供所有其他数据库使用。这些凭据当然会以某种方式进行加密,可能是AES。应用程序将获取加密的凭据,解密并连接。
- 将凭据存储在其他地方 - 也许是完全独立的服务器。当访问主数据库时,它返回某种令牌,该令牌可用于访问凭据存储。同样,通过AES进行加密。
- 使用我不知道的某种系统来完成这个任务。
- 完全不这样做,并提出完全不同的方法。
举个例子,“master”将包含客户列表。每个客户都将包含其自己的单独数据库,具有自己的权限等。