Как настроить конфиденциальные данные в коде приложения при создании модели ADO.NET? D some tag a
Я создаю модель для базы данных, и мне было любопытно следующую инструкцию в мастере Entity Model ADO.NET, где у вас есть варианты выбора "Да" или "Нет" для хранения конфиденциальных данных -
"Нет, исключить конфиденциальные данные из строки подключения. в моем коде приложения."
Я никогда не использовал этот параметр и просто хотел узнать, сделал ли я, где бы мне пришлось указывать свои конфиденциальные данные. Любые идеи?
Ответы
Ответ 1
Задайте аргумент строки подключения конструктора 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';");
Ответ 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 ;
}
Ответ 3
Это то, что я использовал в прошлом, хотя многие будут утверждать, что он небезопасен для хранения текстовых паролей в ваших исходных файлах. Есть способы защитить это путем шифрования строк подключения;
public db_entity()
: base("name=db_entity")
{
this.Database.Connection.ConnectionString= "server=localhost;user id=<USERNAME>;Password=<PASSWORD.;persistsecurityinfo=True;database=<DB_NAME>";
}
Ответ 4
Это имя пользователя и пароль для строки подключения. Если у вас их нет в конфигурационном файле, вам придется предоставить их при создании контекста данных.