Aracılığıyla paylaş


SqlClientPermission.Add(String, String, KeyRestrictionBehavior) Yöntem

Tanım

Nesneye yeni bir bağlantı dizesi ve kısıtlanmış anahtar sözcükler SqlClientPermission 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

Temel kısıtlamalar.

behavior
KeyRestrictionBehavior

Numaralandırmalardan KeyRestrictionBehavior 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ı dizesi izin vermek istiyorsanız ve başka bir şey 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 birleşimi olan ve başka bağlantı dizesi anahtar sözcükleri içermeyen bağlantı dizelerine izin verir:

permission.Add("server=MyServer;", "database=; user id=; password=;", KeyRestrictionBehavior.AllowOnly)

Aşağıdaki örnek yukarıdakiyle aynı senaryoyu kullanır ancak yansıtma için yapılandırılmış 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ı dizesi 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ı dizesi 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.