首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >持久化安全信息Property=true和持久化安全信息Property=false

持久化安全信息Property=true和持久化安全信息Property=false
EN

Stack Overflow用户
提问于 2015-05-24 10:54:38
回答 2查看 80.3K关注 0票数 56

对于属性:

代码语言:javascript
运行
复制
Persist Security Info=true

代码语言:javascript
运行
复制
Persist Security Info=false

你能告诉我它们之间的区别是什么吗?如果我不把它放在我的连接中,会发生什么?

代码语言:javascript
运行
复制
connect.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;
                            Data Source=C:/Users/Nourah/Downloads 
                            /Phase3/Salary.accdb; 
                            Persist Security Info=False;";
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-24 13:50:33

即使您设置了Persist Security Info=truePersist Security Info=false,它也不会在前面显示区别。差异是在后台发生的。

Persist Security Info=False时,如果连接已打开或曾经处于打开状态,则不会将安全敏感信息(如密码)作为连接的一部分返回。

如果设置了Persist Security Info=True,Windows将记住连接字符串中指定的密码。

这就是区别所在。

MSDN Explanation

只有在连接字符串中提到用户名和密码时,设置Persist Security Info true或false才会生效。如果在连接字符串中提到用户名和密码并将Persist Security Info设置为false,则无法提取凭据,但如果在连接字符串中提供凭据时将Persist Security Info设置为true,windows将记住凭据,并且可以通过编程方式提取凭据。

票数 66
EN

Stack Overflow用户

发布于 2019-03-04 02:33:22

我从SQL Server MVP Dan Guzman那里找到了这个答案here

我建议您指定FALSE或完全忽略该关键字,因为它是默认的,即使在开发期间也是如此。只有当应用程序使用SQL身份验证并随后从connection对象检索密码时,才需要指定TRUE,根据我的经验,这种情况很少发生,也很少需要。性能不是问题。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30419627

复制
相关文章

相似问题

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