如何在创建ADO时在应用程序代码中设置敏感数据.网络模型?D一些标签a
本文关键字:模型 网络 标签 敏感数据 设置 ADO 创建 应用程序 代码 | 更新日期: 2023-09-27 17:54:53
我正在为数据库创建一个模型,并对ADO中的以下语句感到好奇。. NET实体模型向导,您可以选择是或否作为存储敏感数据的位置-
"不,从连接字符串中排除敏感数据。我来设置它在我的应用程序代码中。"
我从来没有使用过这个选项,只是想知道我是否使用了我必须指定我的敏感数据的地方。什么好主意吗?
设置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';");
创建加密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 ;
}
这是我过去使用的方法,尽管许多人会认为在源文件中存储纯文本密码是不安全的。有一些方法可以通过加密您的连接字符串来确保这一点;
public db_entity()
: base("name=db_entity")
{
this.Database.Connection.ConnectionString= "server=localhost;user id=<USERNAME>;Password=<PASSWORD.;persistsecurityinfo=True;database=<DB_NAME>";
}
连接字符串的用户名和密码。如果在配置文件中没有它们,则必须在创建数据上下文时提供它们。