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)

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

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

Примечание

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

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

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