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 или проверка подлинности Windows для SQL Server.

В следующем примере используется тот же сценарий, что и предыдущий, но позволяет партнеру отработки отказа, который можно использовать при подключении к серверам, настроенным для зеркального отображения:

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

Note

При использовании разрешений безопасности доступа к коду для ADO.NET правильный шаблон заключается в том, чтобы начать с наиболее строгого случая (нет разрешений вообще), а затем добавить определенные разрешения, необходимые для конкретной задачи, которую необходимо выполнить коду. Противоположный шаблон, начиная со всех разрешений, а затем пытается запретить определенное разрешение, не является безопасным, так как существует множество способов выражения одного и того же строка подключения. Например, если начать с предоставления всех прав доступа, а затем попытаться запретить использование строки соединения «server=someserver», то строка «server=someserver.mycompany.com» останется допустимой. Начиная с отсутствия предоставленных прав, можно сократить вероятность появления уязвимостей, связанных с набором прав доступа.

Применяется к

См. также раздел