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

Definição

Adiciona uma nova cadeia de ligaçã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 restrições principais.

behavior
KeyRestrictionBehavior

Uma das KeyRestrictionBehavior enumerações.

Observações

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

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

O exemplo seguinte permite strings de ligação que utilizam qualquer base de dados, mas apenas no servidor chamado MyServer, com qualquer combinação de utilizador e palavra-passe e sem outras palavras-chave de cadeia de ligação:

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

Warning

A Microsoft não recomenda fornecer diretamente o seu nome de utilizador e palavra-passe, porque é um padrão inseguro. Sempre que possível, utilize fluxos de autenticação mais seguros, como Identidades Geridas para Azure recursos, ou Windows authentication para SQL Server.

O exemplo seguinte utiliza o mesmo cenário do anterior, mas permite um parceiro de failover que pode ser usado ao ligar a servidores configurados para espelhamento:

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

Note

Ao usar permissões de acesso ao código para ADO.NET, o padrão correto é começar pelo caso mais restritivo (sem permissões nenhumas) e depois adicionar as permissões específicas necessárias para a tarefa específica que o código precisa de realizar. O padrão oposto, começar com todas as permissões e depois tentar negar uma permissão específica, não é seguro, porque existem muitas formas de expressar a mesma cadeia de ligação. Por exemplo, se você começar com todas as permissões e, em seguida, tentar negar o uso da cadeia de conexão "server=someserver", a cadeia de caracteres "server=someserver.mycompany.com" ainda será permitida. Ao começar sempre sem conceder nenhuma permissão, você reduz as chances de haver buracos no conjunto de permissões.

Aplica-se a

Ver também