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» останется допустимой. Начиная с отсутствия предоставленных прав, можно сократить вероятность появления уязвимостей, связанных с набором прав доступа.