c# - 如何保护 VS 中的连接字符串?

标签 c# visual-studio-2008 web-config

我看到其他几个人已经发布了这个问题,但是,我尝试过的解决方案都没有解决这个问题。我有一个运行 VS 2008 的 32 位 XP,我试图在我的 web.config 文件中加密我的连接字符串。

但是我得到了错误: 找不到配置部分“...”。失败了!

我给它的命令: C:\Program Files\Microsoft Visual Studio 9.0\VC>Aspnet_regiis.exe -pe "system.we b/AdventureWorksConnectionString2"-app "/Documents and Settings/Admin/My Docume nts/Visual Studio 2008/项目/AddFileToSQL2”

另外,-app 如何映射虚拟目录?换句话说,上面的路径是 c: 下面的目录。这是正确的使用路径吗? AddFileToSQL2 是我的项目的名称,尽管它是 AddFileToSQL 解决方案的一部分。

我有这个文件夹 web shared with all the permissions.

以及我的 web.config 文件的相关部分:

  <add name="AdventureWorksConnectionString2" connectionString="Data Source=SIDEKICK;Initial Catalog=AdventureWorks;Persist Security Info=true; User ID=AdventureWorks;Password=sqlMagic"
    providerName="System.Data.SqlClient" />

最佳答案

据我所知,使用 DPAPI 只能加密整个部分。因此,您不能只加密您的一个连接字符串,而是加密整个 connectionStrings 部分。其次,-app 指的是 IIS 服务器上应用程序的虚拟路径,它应该在其中找到给定的部分和配置文件。因此,如果您的网站看起来像这样:

root
    /appFoo

并且您想加密/appFoo 中的连接字符串

aspnet_regiis -pe "connectionStrings"-app "/appFoo"

How To: Encrypt Configuration Sections in ASP.NET 2.0 Using DPAPI

关于c# - 如何保护 VS 中的连接字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2702325/

相关文章:

c# - String.Replace 在 VB 中工作但在 C# 中不工作

c# - 比较对象的不同实现的优点/缺点

c# - 获取 Windows 8 中已安装 Windows 应用商店应用程序的本地化名称

visual-studio-2008 - 如何使用 Visual Studio 2008 标准版运行测试项目?

c++ - 给定一个指向 C++ 对象的指针,调用 operator[] 函数的所有正确方法是什么?

asp.net - 当您需要共享规则时,如何管理同一解决方案中不同项目中的 web.config 文件?

asp.net - 防止将父 web.config 继承到 IIS 7.5 上的子应用程序

转换为 ValueType 时的 C# 装箱

c# - 自定义列表中的 SharePoint 自定义上下文菜单出现在文件夹上,而不仅仅是文件

asp.net - 在构建 Web 应用程序后使用 Visual Studio 2010 web.config 转换