SqlClientPermission.Add(String, String, KeyRestrictionBehavior) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
SqlClientPermission nesnesine yeni bir bağlantı dizesi ve kısıtlanmış anahtar sözcükler kümesi ekler.
public:
override void Add(System::String ^ connectionString, System::String ^ restrictions, System::Data::KeyRestrictionBehavior behavior);
public override void Add (string connectionString, string restrictions, System.Data.KeyRestrictionBehavior behavior);
override this.Add : string * string * System.Data.KeyRestrictionBehavior -> unit
Public Overrides Sub Add (connectionString As String, restrictions As String, behavior As KeyRestrictionBehavior)
Parametreler
- connectionString
- String
Bağlantı dizesi.
- restrictions
- String
Önemli kısıtlamalar.
- behavior
- KeyRestrictionBehavior
KeyRestrictionBehavior numaralandırmalarından biri.
Açıklamalar
Belirli bir izin nesnesi tarafından izin verilen bağlantı dizelerini yapılandırmak için bu yöntemi kullanın. Örneğin, yalnızca belirli bir bağlantı dizesine izin vermek ve başka hiçbir şeye izin vermek istemiyorsanız aşağıdaki kod parçasını kullanın:
permission.Add("server=MyServer; database=MyDatabase; Integrated Security=true", "", KeyRestrictionBehavior.AllowOnly)
Aşağıdaki örnek, herhangi bir veritabanı kullanan, ancak yalnızca MyServer adlı sunucuda kullanıcı ve parola bileşimi olan ve başka hiçbir bağlantı dizesi anahtar sözcüğü içermeyen bağlantı dizelerine izin verir:
permission.Add("server=MyServer;", "database=; user id=; password=;", KeyRestrictionBehavior.AllowOnly)
Uyarı
Microsoft, güvenli olmayan bir desen olduğundan kullanıcı adınızı ve parolanızı doğrudan sağlamanızı önermez. Mümkün olduğunda,Azure kaynakları için Yönetilen Kimlikler
Aşağıdaki örnek, öncekiyle aynı senaryoyu kullanır, ancak yansıtma için yapılandırılan sunuculara bağlanırken kullanılabilecek bir yük devretme iş ortağına izin verir:
permission.Add("server=MyServer; failover partner=MyMirrorServer", "database=; user id=; password=;", KeyRestrictionBehavior.AllowOnly)
Not
ADO.NET için kod erişimi güvenlik izinlerini kullanırken, doğru desen en kısıtlayıcı durumla (hiç izin olmadan) başlamak ve ardından kodun gerçekleştirmesi gereken belirli görev için gereken belirli izinleri eklemektir. Tüm izinlerle başlayıp belirli bir izni reddetmeye çalışmak, aynı bağlantı dizesini ifade etmenin birçok yolu olduğundan, ters desen güvenli değildir. Örneğin, tüm izinlerle başlayıp "server=someserver" bağlantı dizesinin kullanımını reddetmeye çalışırsanız, "server=someserver.mycompany.com" dizesine yine de izin verilir. Her zaman hiçbir izin vermeyerek başlayarak, izin kümesinde delikler olma olasılığını azaltırsınız.
Şunlara uygulanır
Ayrıca bkz.
- Kod Erişimi Güvenliği ve ADO.NET
- ADO.NET Genel Bakış