SqlClientPermission.Add(String, String, KeyRestrictionBehavior) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.