次の方法で共有


SqlClientPermission.Add(String, String, KeyRestrictionBehavior) メソッド

定義

新しい接続文字列および予約キーワードのセットを SqlClientPermission オブジェクトに追加します。

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)

パラメーター

connectionString
String

接続文字列。

restrictions
String

キーの制限。

behavior
KeyRestrictionBehavior

KeyRestrictionBehavior 列挙値の 1 つ。

注釈

このメソッドを使用して、特定のアクセス許可オブジェクトで許可される接続文字列を構成します。 たとえば、特定の接続文字列のみを許可し、それ以外は許可しない場合は、次のコード フラグメントを使用します。

permission.Add("server=MyServer; database=MyDatabase; Integrated Security=true", "", KeyRestrictionBehavior.AllowOnly)

次の例では、任意のデータベースを使用し、MyServer というサーバーでのみ、ユーザーとパスワードの組み合わせを使用し、他の接続文字列キーワードを含まない接続文字列を許可します。

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

次の例では、上記と同じシナリオを使用しますが、ミラーリング用に構成されたサーバーに接続するときに使用できるフェールオーバー パートナーを許可します。

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

注意

ADO.NET に対してコード アクセス セキュリティアクセス許可を使用する場合、最も制限の厳しいケース (アクセス許可は一切ありません) から始めてから、コードが実行する必要がある特定のタスクに必要な特定のアクセス許可を追加するのが正しいパターンです。 すべてのアクセス許可から始まり、特定のアクセス許可を拒否しようとする逆のパターンは、同じ接続文字列を表現する多くの方法があるため、セキュリティで保護されません。 たとえば、すべての権限を与えた後で接続文字列 "server=someserver" の使用を拒否しても、"server=someserver.mycompany.com" という接続文字列は使用可能です。 常に権限をまったく与えない状態から開始することで、権限セットのセキュリティ ホールを減らすことができます。

適用対象

こちらもご覧ください