SqlClientPermission.Add(String, String, KeyRestrictionBehavior) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Dodaje nowe parametry połączenia i zestaw ograniczonych słów kluczowych do SqlClientPermission obiektu.
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)
Parametry
- connectionString
- String
Ciąg połączenia.
- restrictions
- String
Ograniczenia klucza.
- behavior
- KeyRestrictionBehavior
Jeden z KeyRestrictionBehavior wyliczeń.
Uwagi
Ta metoda służy do konfigurowania parametrów połączenia dozwolonych przez określony obiekt uprawnień. Na przykład użyj następującego fragmentu kodu, jeśli chcesz zezwolić tylko na określone parametry połączenia i nic innego:
permission.Add("server=MyServer; database=MyDatabase; Integrated Security=true", "", KeyRestrictionBehavior.AllowOnly)
W poniższym przykładzie można używać parametrów połączenia, które używają dowolnej bazy danych, ale tylko na serwerze o nazwie MyServer, z dowolną kombinacją użytkownika i hasła i nie zawierają żadnych innych słów kluczowych parametry połączenia:
permission.Add("server=MyServer;", "database=; user id=; password=;", KeyRestrictionBehavior.AllowOnly)
Warning
Microsoft nie zaleca bezpośredniego podawania nazwy użytkownika i hasła, ponieważ jest to niezabezpieczony wzorzec. Jeśli to możliwe, użyj bezpieczniejszych przepływów uwierzytelniania, takich jak Zarządzane tożsamości dla zasobów Azure lub Windows authentication dla SQL Server.
Poniższy przykład używa tego samego scenariusza co poprzedni, ale umożliwia partnerowi trybu failover, który może być używany podczas nawiązywania połączenia z serwerami skonfigurowanymi do dublowania:
permission.Add("server=MyServer; failover partner=MyMirrorServer", "database=; user id=; password=;", KeyRestrictionBehavior.AllowOnly)
Note
W przypadku używania uprawnień zabezpieczeń dostępu do kodu dla ADO.NET prawidłowym wzorcem jest rozpoczęcie od najbardziej restrykcyjnego przypadku (bez uprawnień w ogóle), a następnie dodanie określonych uprawnień wymaganych do określonego zadania, które musi wykonać kod. Odwrotny wzorzec, zaczynając od wszystkich uprawnień, a następnie próbując odmówić określonego uprawnienia, nie jest bezpieczny, ponieważ istnieje wiele sposobów wyrażania tego samego parametry połączenia. Jeśli na przykład zaczniesz od wszystkich uprawnień, a następnie spróbujesz odrzucić użycie parametry połączenia "server=someserver", ciąg "server=someserver.mycompany.com" będzie nadal dozwolony. Jeśli zawsze zaczynasz od tego, by nie przyznawać żadnych uprawnień, tym samym zmniejszasz prawdopodobieństwo, że w zestawie uprawnień powstaną luki.