首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在.Net 4中持久化安全信息

在.Net 4中持久化安全信息
EN

Stack Overflow用户
提问于 2012-11-09 10:49:09
回答 1查看 7.6K关注 0票数 6

使用Microsoft 2010和Microsoft框架4创建连接到Microsoft 2008数据库的.NET应用程序。应用程序使用Microsoft ADO.NET Server托管provider.When连接失败,应用程序记录连接信息,包括完整连接string.The信息以纯文本形式存储在.config文件中。

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

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

A.Data Source=myServerAddress;初始Catalog=myDataBase;集成Security=SSPI;持久化安全Info=false;

B.Data Source=myServerAddress;初始Catalog=myDataBase;集成Security=SSPI;持久化安全Info=true;

C.Data Source=myServerAddress;初始Catalog=myDataBase;用户Id = myUsername;密码= myPassword;持久化安全Info=false;

D.Data Source=myServerAddress;初始Catalog=myDataBase;用户Id = myUsername;密码= myPassword;持久化安全Info=true;

根据指南,答案是'A‘。但在我看来,答案是C。如果我们使用的是Integrated = SSPI,则不需要提供UserID和密码。因此,持久化安全Info=false没有任何影响。

据我所知,只有当连接字符串具有用户凭据时,持久化安全信息才会生效。

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

EN

回答 1

Stack Overflow用户

发布于 2012-11-26 00:04:50

你是正确的。只有在连接字符串中提供用户名和密码时,持久化安全Info=false才有效。但是问题是“您应该在.config文件中存储什么”,并且考虑到“信息以纯文本形式存储”,您不应该将UID和PWD存储在配置文件中。如果存储C,则可以从.config文件中提取PWD和UID。但是如果你存储A,就没有凭据可以提取。

我不知道为什么A会有"Persist Security Info=false",但是看起来这是一个很好的练习。参见MSDN示例:

  • http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring(v=vs.71).aspx
  • http://msdn.microsoft.com/en-us/library/ff647552.aspx
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13306638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档