Compartilhar via


SqlClientPermission.Add(String, String, KeyRestrictionBehavior) Método

Definição

Adiciona uma nova cadeia de conexão e um conjunto de palavras-chave restritas ao objeto 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)

Parâmetros

connectionString
String

A cadeia de conexão.

restrictions
String

As principais restrições.

behavior
KeyRestrictionBehavior

Uma das enumerações de KeyRestrictionBehavior.

Comentários

Use esse método para configurar quais cadeias de conexão são permitidas por um objeto de permissão específico. Por exemplo, use o seguinte fragmento de código se quiser permitir apenas uma cadeia de conexão específica e nada mais:

permission.Add("server=MyServer; database=MyDatabase; Integrated Security=true", "", KeyRestrictionBehavior.AllowOnly)

O exemplo a seguir permite cadeias de conexão que usam qualquer banco de dados, mas somente no servidor chamado MyServer, com qualquer combinação de usuário e senha e sem nenhuma outra palavra-chave de cadeia de conexão:

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

O exemplo a seguir usa o mesmo cenário acima, mas permite um parceiro de failover que pode ser usado ao se conectar a servidores configurados para espelhamento:

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

Observação

Ao usar permissões de segurança de acesso de código para ADO.NET, o padrão correto é começar com o caso mais restritivo (sem permissões) e, em seguida, adicionar as permissões específicas necessárias para a tarefa específica que o código precisa executar. O padrão oposto, começando com todas as permissões e tentando negar uma permissão específica, não é seguro, pois há muitas maneiras de expressar a mesma cadeia de conexão. Por exemplo, se você iniciar com todas as permissões e depois tentar negar o uso da cadeia de conexão “server=someserver”, a cadeia de caracteres “server=someserver.mycompany.com” ainda será permitida. Ao iniciar sempre sem conceder absolutamente nenhuma permissão, você reduz as chances de haver brechas no conjunto de permissões.

Aplica-se a