2011-05-05 13 views
12

Veri tabanı için bir model oluşturuyorum ve ADO.NET Varlık Modeli sihirbazında aşağıdaki ifadeyi merak ettim. hassas veri depolamak için nereye kadar Evet seçmenin seçenekleri veya Hayır -ADO.NET Modeli oluştururken uygulama kodunda hassas verileriniz nasıl ayarlanır? Bazı etiketler

"Hayır, bağlantı dizesinden hassas verileri hariç ben o benim uygulama kodunda ayarlayacaktır."

Bu seçeneği hiç kullanmadım ve yalnızca hassas verilerimi belirtmek zorunda olduğum yerde yapıp yapmadığımı öğrenmek istedim. Herhangi bir fikir?

+0

Çok güzel soru! Bunu da bilmek isterdim. – Jordan

cevap

-2

Bağlantı dizesi için kullanıcı adı ve parola. Yapılandırma dosyasında yoksa, veri bağlamını oluştururken bunları sağlamanız gerekir.

+3

Ama bunu nasıl yapıyorsunuz? –

7

Seti Model yapıcısının bağlantı dizesi argümanı:

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';"); 
3

Şifreli DLL tutmaya Oluştur bağlantı dizesi

Bu i ne var

// 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 ; 
    } 
+0

Peki, bu onu web.config'ten çıkarır, ama benim anlayışım, gizlenmiş C# kodunda göründüğü kadardır. –

+0

Evet. Ancak bağlantı dizelerinizi korumak için ** şifreleme tekniklerini ** kullanabilirsiniz. –

+0

@ WilliamT.Mallard Alternatif olarak, şifreyi daha güvenli bir yerden okumak için bir kod yazabilirsiniz. – Dan

0

varlıkların kurucu değiştirin Geçmişte kullanılan birçok kişi, kaynak dosyalarınızda düz metin şifreleri saklamak için güvensiz olduğunu tartışacaktır. Bağlantı dizelerinizi şifreleyerek bunu güvenceye almak için yöntemler vardır;

public db_entity() 
      : base("name=db_entity") 
     { 
      this.Database.Connection.ConnectionString= "server=localhost;user id=<USERNAME>;Password=<PASSWORD.;persistsecurityinfo=True;database=<DB_NAME>";    
     } 
İlgili konular