天天看点

保护连接字符串指定 Windows 身份验证(集成安全性)不要使用通用数据链接文件将连接字符串存储在配置文件中从配置文件中检索连接字符串使用受保护的配置加密连接字符串通过用户输入构造连接字符串使用连接字符串生成器请参见

保护连接字符串

摘自MSDN

建议您尽可能使用 Windows 身份验证(也称为集成安全性)。连接字符串中使用的语法依提供程序而异。下表显示 .NET Framework 数据提供程序所使用的语法。

提供程序

语法

SqlClient

<a>复制代码</a>

SqlClient, OleDb

Odbc

OracleClient

注意,在对 OleDb 提供程序使用 Integrated Security=true 时会引发异常。

保护连接字符串指定 Windows 身份验证(集成安全性)不要使用通用数据链接文件将连接字符串存储在配置文件中从配置文件中检索连接字符串使用受保护的配置加密连接字符串通过用户输入构造连接字符串使用连接字符串生成器请参见

安全注意

如果在连接字符串中将 Persist Security Info 关键字设置为 true 或 yes,将允许在打开连接后,从连接中获得涉及安全性的信息(包括用户标识和密码)。如果在建立连接时必须提供用户标识和密码,最安全的方法是在使用信息打开连接后丢弃这些信息,在 Persist Security Info 设置为 false 或 no 时会发生这种情况。当您向不可信的源提供打开的连接,或将连接信息永久保存到磁盘时,这点尤其重要。如果将 Persist Security Info 保持为 false,可帮助确保不可信的源无法访问连接中涉及安全性的信息,并帮助确保任何涉及安全性的信息都不会随连接字符串信息永久保存到磁盘中。默认情况下,Persist Security Info 设置为 false。

为了避免将连接字符串存储在代码中,可以将代码存储在 ASP.NET 应用程序的 web.config 文件中以及 Windows 应用程序的 app.config 文件中。

连接字符串可以存储在配置文件的 &lt;connectionStrings&gt; 元素中。连接字符串存储为键/值对的形式,可以在运行时使用名称查找存储在 connectionString 属性中的值。以下配置文件示例显示名为 DatabaseConnection 的连接字符串,该连接字符串引用连接到 SQL Server 本地实例的连接字符串。

<dl></dl>

<dt></dt>

<a href="http://msdn2.microsoft.com/zh-cn/library/8hsw93za(VS.80).aspx">ConnectionString</a>

<dd></dd>

连接字符串。

<a href="http://msdn2.microsoft.com/zh-cn/library/yb792k4z(VS.80).aspx">Name</a>

&lt;connectionStrings&gt; 部分的连接字符串的名称。

Visual Basic

C#

<a href="http://msdn2.microsoft.com/zh-cn/library/dce36088(VS.80).aspx">SqlConnectionStringBuilder</a>

<a href="http://msdn2.microsoft.com/zh-cn/library/yk8k0yw8(VS.80).aspx">OracleConnectionStringBuilder</a>

<a href="http://msdn2.microsoft.com/zh-cn/library/2dbzd91t(VS.80).aspx">OdbcConnectionStringBuilder</a>

<a href="http://msdn2.microsoft.com/zh-cn/library/e19ktfb8(VS.80).aspx">OleDbConnectionStringBuilder</a>

<a href="http://msdn2.microsoft.com/zh-cn/library/dx0f3cf2(VS.80).aspx">如何:确保使用数据源控件时连接字符串的安全</a>

<a href="http://msdn2.microsoft.com/zh-cn/library/ms254978(VS.80).aspx">使用连接字符串</a>

<a href="http://msdn2.microsoft.com/zh-cn/library/ms172109(VS.80).aspx">加密和数据访问</a>

<a href="http://msdn2.microsoft.com/zh-cn/library/f4dwcz5k(VS.80).aspx">Securing the User's Password</a>

<a href="http://msdn2.microsoft.com/zh-cn/library/ecb3hak0(VS.80).aspx">保证 ADO.NET 应用程序的安全</a>

<a href="http://msdn2.microsoft.com/zh-cn/library/53tyfkaw(VS.80).aspx">使用受保护的配置加密配置信息</a>