我正在为数据库创建模型,并对ADO.NET实体模型向导中的以下语句感到好奇,在该向导中,您可以选择是或否作为存储敏感数据的位置 -
“不,从连接字符串中排除敏感数据。我会设置它 在我的应用程序代码中。“
我从未使用过此选项,只是想知道我是否在指定敏感数据的地方。有什么想法吗?
答案 0 :(得分:8)
设置Model构造函数的连接字符串参数:
MyEntities1 db = new MyEntities1 ("metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=';Data Source=localhost;Initial Catalog=myDb;User ID=user1;Password=myPass;MultipleActiveResultSets=True';");
答案 1 :(得分:2)
创建加密DLL以保存连接字符串
修改实体的构造函数
// Separate Encrypted DLL file
public static class secureData()
{
public static string ConString = @"Data Source=YOUR_SERVER;Initial
Catalog=YOUR_DB;Persist Security Info=True;User
ID=YOUR_USER;Password=YOUR_PASSWORD";
}
public sampleDBEntities() : base("name=sampleDBEntities")
{
this.Database.Connection.ConnectionString = secureData.ConString ;
}
答案 2 :(得分:0)
这是我过去使用过的,虽然很多人会认为它不安全地将纯文本密码存储在源文件中。有一些方法可以通过加密连接字符串来保护这一点;
public db_entity()
: base("name=db_entity")
{
this.Database.Connection.ConnectionString= "server=localhost;user id=<USERNAME>;Password=<PASSWORD.;persistsecurityinfo=True;database=<DB_NAME>";
}
答案 3 :(得分:-2)
这是连接字符串的用户名和密码。如果您在配置文件中没有它们,则必须在创建数据上下文时提供它们。