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