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

Definición

Agrega una nueva cadena de conexión y un conjunto de palabras clave restringidas al 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

Cadena de conexión.

restrictions
String

Restricciones clave.

behavior
KeyRestrictionBehavior

Una de las enumeraciones KeyRestrictionBehavior.

Comentarios

Use este método para configurar las cadenas de conexión permitidas por un objeto de permiso determinado. Por ejemplo, use el siguiente fragmento de código si solo desea permitir una cadena de conexión específica y nada más:

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

En el ejemplo siguiente se permiten cadenas de conexión que usan cualquier base de datos, pero solo en el servidor denominado MyServer, con cualquier combinación de usuario y contraseña y sin otras palabras clave de cadena de conexión:

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

Advertencia

Microsoft no recomienda proporcionar el nombre de usuario y la contraseña directamente, ya que es un patrón inseguro. Siempre que sea posible, use flujos de autenticación más seguros, como identidades administradas para recursos de Azureo autenticación de Windows para SQL Server.

En el ejemplo siguiente se usa el mismo escenario que el anterior, pero permite un asociado de conmutación por error que se puede usar al conectarse a servidores configurados para la creación de reflejo:

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

Nota

Cuando se usan permisos de seguridad de acceso de código para ADO.NET, el patrón correcto consiste en empezar con el caso más restrictivo (sin permisos) y, a continuación, agregar los permisos específicos necesarios para la tarea concreta que el código debe realizar. El patrón opuesto, empezando por todos los permisos y, a continuación, intentando denegar un permiso específico, no es seguro, porque hay muchas maneras de expresar la misma cadena de conexión. Por ejemplo, si comienza con todos los permisos e intenta denegar el uso de la cadena de conexión "server=someserver", la cadena "server=someserver.mycompany.com" seguirá estando permitida. Al comenzar siempre sin conceder permisos, se reducen las posibilidades de que haya agujeros en el conjunto de permisos.

Se aplica a

Consulte también

  • seguridad y ADO.NET de acceso a código de
  • información general de ADO.NET