在数据库中存储连接字符串的想法是一个不正常的想法,但请先听我说.我们都知道加密web.config文件中的连接字符串是最佳做法,但是如果我们完全跳过web.config文件呢?
几个月前,我被要求将数据库从一台服务器移动到另一台服务器.这意味着必须更新访问这些不同数据库的每个程序中的连接字符串.这是2年来第3次我不得不将数据库从一台服务器移动到另一台服务器.所以我想到将连接字符串存储在数据库中并为每个GUID分配要通过Web服务访问的GUID.您只需将连接字符串GUID存储在web.config中,并引用连接字符串Web服务,以便可以请求连接字符串,而不是将连接字符串放在web.config中.加密可以在应用程序级别完成,连接字符串只是加密存储在数据库中.
我创建了一个概念证明,它工作正常(它只是在本地内部网上,而不是暴露在互联网上).
这个好处对我来说很明显;例如能够快速更新连接字符串而无需触摸Web应用程序.这意味着您可以构建一个Web应用程序,仅用于编辑数据库中的连接字符串,DBA可以在其中使用,因此在移动数据库时,他们永远不必打扰程序员.
但好处不是我感兴趣的.我对这里的每个人都想做这样的事情感兴趣吗?