Partilhar 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 restrições de chave.

behavior
KeyRestrictionBehavior

Uma das enumerações 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 desejar 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 outras palavras-chave de cadeia de conexão:

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

Aviso

A Microsoft não recomenda fornecer seu nome de usuário e senha diretamente, pois é um padrão inseguro. Sempre que possível, use fluxos de autenticação mais seguros, como Identidades Gerenciadas para recursos do Azureou de autenticação do Windows para SQL Server.

O exemplo a seguir usa o mesmo cenário que o anterior, 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)

Nota

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ê começar com todas as permissões e tentar negar o uso da cadeia de conexão "server=someserver", a cadeia de caracteres "server=someserver.mycompany.com" ainda será permitida. Ao sempre começar não concedendo nenhuma permissão, você reduz as chances de haver buracos no conjunto de permissões.

Aplica-se a

Confira também

  • segurança e ADO.NET de acesso ao código
  • visão geral ADO.NET