SqlClientPermission.Add(String, String, KeyRestrictionBehavior) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Fügt dem SqlClientPermission-Objekt eine neue Verbindungszeichenfolge und eine Reihe eingeschränkter Schlüsselwörter hinzu.
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)
Parameter
- connectionString
- String
Die Verbindungszeichenfolge.
- restrictions
- String
Die wichtigsten Einschränkungen.
- behavior
- KeyRestrictionBehavior
Einer der KeyRestrictionBehavior Enumerationen.
Hinweise
Verwenden Sie diese Methode, um zu konfigurieren, welche Verbindungszeichenfolgen von einem bestimmten Berechtigungsobjekt zulässig sind. Verwenden Sie beispielsweise das folgende Codefragment, wenn Sie nur eine bestimmte Verbindungszeichenfolge und nichts anderes zulassen möchten:
permission.Add("server=MyServer; database=MyDatabase; Integrated Security=true", "", KeyRestrictionBehavior.AllowOnly)
Das folgende Beispiel ermöglicht Verbindungszeichenfolgen, die eine beliebige Datenbank verwenden, jedoch nur auf dem Server mit dem Namen "MyServer", mit einer beliebigen Benutzer- und Kennwortkombination und ohne andere Schlüsselwörter für verbindungszeichenfolgen:
permission.Add("server=MyServer;", "database=; user id=; password=;", KeyRestrictionBehavior.AllowOnly)
Warnung
Microsoft empfiehlt nicht, Ihren Benutzernamen und Ihr Kennwort direkt anzugeben, da es sich um ein unsicheres Muster handelt. Verwenden Sie nach Möglichkeit sicherere Authentifizierungsflüsse, z. B. verwaltete Identitäten für Azure-Ressourcen, oder Windows-Authentifizierungs- für SQL Server.
Im folgenden Beispiel wird dasselbe Szenario wie der vorherige verwendet, ermöglicht jedoch einen Failoverpartner, der beim Herstellen einer Verbindung mit servern verwendet werden kann, die für die Spiegelung konfiguriert sind:
permission.Add("server=MyServer; failover partner=MyMirrorServer", "database=; user id=; password=;", KeyRestrictionBehavior.AllowOnly)
Anmerkung
Wenn Sie Codezugriffssicherheitsberechtigungen für ADO.NET verwenden, besteht das richtige Muster darin, mit dem restriktivsten Fall (überhaupt keine Berechtigungen) zu beginnen und dann die spezifischen Berechtigungen hinzuzufügen, die für die bestimmte Aufgabe erforderlich sind, die der Code ausführen muss. Das gegenteilige Muster, das mit allen Berechtigungen beginnt und dann versucht, eine bestimmte Berechtigung zu verweigern, ist nicht sicher, da es viele Möglichkeiten gibt, dieselbe Verbindungszeichenfolge auszudrücken. Wenn Sie beispielsweise mit allen Berechtigungen beginnen und dann versuchen, die Verwendung der Verbindungszeichenfolge "server=someserver" zu verweigern, wäre die Zeichenfolge "server=someserver.mycompany.com" weiterhin zulässig. Indem Sie immer beginnen, überhaupt keine Berechtigungen zu erteilen, verringern Sie die Wahrscheinlichkeit, dass es Löcher im Berechtigungssatz gibt.