坚持.Net 4中的安全信息

TTC*_*TCG 6 c# connection-string .net-4.0

您使用Microsoft Visual Studio 2010和Microsoft .NET Framework 4来创建应用程序.该应用程序连接到Microsoft SQL Server 2008数据库.该应用程序使用Microsoft ADO.NET SQL Server托管提供程序.当连接失败时,应用程序会记录连接信息,包括完整的连接字符串.信息以纯文本形式存储在.config文件中.

您需要确保数据库凭据是安全的.

您应该将哪个连接字符串添加到.config文件中?

A .Data Source = myServerAddress; 初始目录= myDataBase; 综合安全= SSPI; 坚持安全信息=假;

B .Data Source = myServerAddress; 初始目录= myDataBase; 综合安全= SSPI; 坚持安全信息=真;

C .Data Source = myServerAddress; 初始目录= myDataBase; 用户ID = myUsername; 密码= myPassword; 坚持安全信息=假;

d.数据源= myServerAddress; 初始目录= myDataBase; 用户ID = myUsername; 密码= myPassword; 坚持安全信息=真;

根据指南,答案是'A'.但在我看来,答案是'C'.如果我们使用Integrated Security = SSPI,我们不需要提供UserID和Password.因此,Persist Security Info = false无效.

据我所知,只有连接字符串具有用户凭据时,Persist Security Info才会生效.

你能告诉我哪一个是正确的吗?谢谢.

dsi*_*ide 5

你是对的.只有在连接字符串中提供用户名和密码时,Persist Security Info = false才有效.但问题是"你应该在.config文件中存储什么"并考虑到"信息以纯文本形式存储",你不应该在配置文件中存储UID和PWD.如果存储C,则可以从.config文件中提取PWD和UID.但是如果你存储A,则没有要提取的凭据.

我不确定,为什么A有"Persist Security Info=false",但看起来这是一个很好的做法.请参阅MSDN示例: