避免在web.config中提供服务器连接字符串

时间:2014-08-20 08:28:34

标签: asp.net sql-server web

我正在使用asp.net MVC构建一个网站。我在web.config中有两个连接字符串,一个用于本地数据库,另一个用于服务器数据库。我在本地测试我的工作,然后把它放在服务器上。服务器连接字符串(user name and password)也在web.config中。明天,当我销售产品时,我想确保我不会将此web.config提供给客户。但这可能是错误的。我怎么能阻止这个?

2 个答案:

答案 0 :(得分:4)

我的建议是使用以下两种方法之一:

ConnectionStrings.configWeb.Config transform。像往常一样,两者都有利弊。

为连接字符串使用单独的配置文件

  • 每个开发人员都可以拥有其连接字符串的本地副本
  • ConnectionStrings可以标记为忽略并且从不提交给源代码管理

然而   - 要求每个客户/开发人员单独管理

Web.config转换

  • 每个连接字符串/构建配置都可以是源控制的
  • 需要发布应用程序而不仅仅是构建

然而

  • 大量变换可能难以维护。

我个人更喜欢使用ConnectionStrings.config - 我不喜欢在源代码管理中使用生产凭据。如果您忘记了它,那么它也会产生很好的副作用,因此您不能将它们排除在外。

答案 1 :(得分:2)

不要在连接字符串中使用用户名和密码,而是使用集成安全性。

而不是这个。

User ID=****; Password=****;

使用此功能。

Integrated Security=true;

确保您的登录用户可以访问本地数据库。并且IIS服务器可以访问服务器数据库。

有关将IIS配置为能够访问SQL Server的信息,请参阅here