SqlClientPermission.Add(String, String, KeyRestrictionBehavior) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將新的連接字串和一組受限制的關鍵詞加入至 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”。 一律從授與完全沒有許可權開始,您可以減少許可權集合中有漏洞的機會。