共用方式為


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 列舉。

備註

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

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

下列範例允許使用任何資料庫的連接字串,但只在名為 MyServer 的伺服器上使用任何使用者和密碼組合,且不包含任何其他連接字串關鍵詞:

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

警告

Microsoft不建議直接提供您的使用者名稱和密碼,因為這是不安全的模式。 可能的話,請使用更安全的驗證流程,例如 azure 資源的 受控識別,或 SQL Server Windows 驗證

下列範例會使用與上一個案例相同的案例,但允許故障轉移夥伴連線到針對鏡像設定的伺服器時使用:

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

注意

使用程式代碼存取安全性許可權進行 ADO.NET 時,正確的模式是從最嚴格的案例開始(完全沒有許可權),然後新增程式代碼需要執行之特定工作所需的特定許可權。 相反的模式,從所有許可權開始,然後嘗試拒絕特定許可權並不安全,因為有許多方式表示相同的連接字串。 例如,如果您從所有許可權開始,然後嘗試拒絕使用連接字串 “server=someserver”,則仍然允許字串 “server=someserver.mycompany.com”。 一律從授與完全沒有許可權開始,您可以減少許可權集合中有漏洞的機會。

適用於

另請參閱