ConnectionString连接字符串-密码丢失的解决方法

Posted Carfield-加菲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ConnectionString连接字符串-密码丢失的解决方法相关的知识,希望对你有一定的参考价值。

今天遇到一个问题,EF,asp.net  web端登录成功,退出,再登录就异常了,

登出成功时,

EF 中 dbcontext.Database.Connection.ConnectionString=data source=.;initial catalog=ZhpGame;user id=sa;password=456;MultipleActiveResultSets=True;App=EntityFramework

 

再次登录时,遇到鬼了
dbcontext.Database.Connection.ConnectionString=data source=.;initial catalog=ZhpGame;user id=sa;MultipleActiveResultSets=True;App=EntityFramework,密码给我吃了

 

解决方法:

在connectionstring中加上“persist security info=true;”就不会丢失密码了

persist security info的特性:

“persist security info=false;”(默认值)时,则返回的connectionstring和用户配置的connectionstring 相同,密码在列等同于没有安全性。
“persist security info=true;”时,sql server .net framework 数据提供程式将不会保存,也不会返回连接字符串中的密码。

应用前景举例:

如果你要对外提供接口程序,当你需要控制不让连接数据库的密码外泄、又能让开发者访问数据库时,可以让接口程序只对外开放connection对象,不要提供读取数据库连接字符串的接口,内部打开connection时用上“persist security info=true;”,保证开发者从connection对象的connectionstring拿到的连接字符串是没有密码的

以上是关于ConnectionString连接字符串-密码丢失的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

RODBC - 连接字符串添加用户名和密码

怎样动态更改App.config中的配置

Azure 中的 ConnectionString 没有覆盖 Azure 函数的 LocalSqlServer

如何修复“ConnectionString 属性尚未初始化”

使用本地SQL Server的连接字符串

如何从 EF7 DbContext 获取 ConnectionString