Share via


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 列舉型別 (Enumeration)。

備註

使用這個方法來設定特定許可權物件允許的連接字串。 例如,如果您想要只允許特定的 連接字串,且沒有其他專案,請使用下列代碼段:

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" 字串。 只要以不授與任何權限開始,您就能減少權限集合具有漏洞的機會。

適用於

另請參閱