Поделиться через


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)

Предупреждение

Корпорация Майкрософт не рекомендует напрямую предоставлять имя пользователя и пароль, так как это небезопасный шаблон. По возможности используйте более безопасные потоки проверки подлинности, такие как управляемые удостоверения для ресурсов Azureили проверки подлинности Windows для SQL Server.

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

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

Заметка

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

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

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

  • безопасность доступа к коду и ADO.NET
  • обзора ADO.NET