Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En el caso de los escenarios que no son de plena confianza, puede identificar métodos específicos del código que precisan un privilegio especial de seguridad de acceso a código mediante la especificación de la propiedad SqlClientPermissionAttribute requerida. Si el código no dispone de ese privilegio, antes de que se llegue a ejecutar se inicia una excepción.
Nota El proveedor de datos de .NET Framework para OLE DB y para ODBC no están habilitados para escenarios de confianza parcial, por lo que puede que la prueba de un privilegio determinado se lleve a cabo correctamente, pero cuando se ejecute el código se producirá un error con una SecurityException.
Por ejemplo, en el código siguiente se muestra la forma de indicar que un método necesita una cadena de conexión determinada. Si dicha cadena de conexión no está permitida, se iniciará una excepción y no se ejecutará el método.
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Security
Imports System.Security.Permissions
Public Class Sample
<SqlClientPermissionAttribute(SecurityAction.Demand, ConnectionString := " Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;")> _
Private Shared Sub OpenConn()
Dim testConn As SqlConnection = New SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;")
testConn.Open()
Console.WriteLine("The calling method has been granted sufficient permission to access the database.")
testConn.Close()
End Sub
Public Shared Sub Main()
Try
OpenConn()
Catch e As SecurityException
Console.WriteLine("The calling method has not been granted sufficient permission to access the database.")
End Try
End Sub
End Class
[C#]
using System;
using System.Data;
using System.Data.SqlClient;
using System.Security;
using System.Security.Permissions;
public class Sample
{
[SqlClientPermissionAttribute(SecurityAction.Demand, ConnectionString = " Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;")]
private static void OpenConn()
{
SqlConnection testConn = new SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;");
testConn.Open();
Console.WriteLine("The calling method has been granted sufficient permission to access the database.");
testConn.Close();
}
public static void Main()
{
try
{
OpenConn();
}
catch (SecurityException)
{
Console.WriteLine("The calling method has not been granted sufficient permission to access the database.");
}
}
}
Vea también
Escribir código de ADO.NET seguro | Seguridad de acceso a código