Académique Documents
Professionnel Documents
Culture Documents
una cadena de conexion es una coleccion de parametros que se le dan a un objeta para que este con los valores que contiene cada parametro realize la conexion a la base de datos ejemplos de cadenas en .Net "Data Source=Aron1; Initial Catalog=pubs; User Id=myUsername; Password=myPassword;" si observas hay parametros Data Source Initial catalog User Id Password otro ejemplo "Data Source=190.190.200.100,1433; Network Library=DBMSSOCN; Initial Catalog=pubs; User ID=myUsername; Password=myPassword;"
necesita el proveedor para abrir una base de datos determinada y uno o varios comandos SQL para consultar o modificar los datos. Puede definir la informacin sobre el proveedor y la conexin como propiedades individuales del control SqlDataSource, o puede definirla de forma centralizada en el archivo Web.config de la aplicacin Web. El almacenamiento de la informacin de conexin en el archivo Web.config permite reutilizarla con varias instancias del control de datos. Tambin ayuda a proteger la informacin de la cadena de conexin mediante listas de control de acceso (ACL) y cifrado. Para obtener ms informacin, vea "Cadenas de conexin" ms adelante en este mismo tema.
Proveedores
Un proveedor de ADO.NET es una clase que se puede comunicar con un tipo especfico de base de datos o almacn de datos. Por ejemplo, un proveedor podra comunicarse con una base de datos de SQL Server y otro podra comunicarse con una base de datos de Oracle. Los proveedores incluidos con .NET Framework son: Proveedor de datos de .NET Framework para SQL Server en el espacio de nombres System.Data.SqlClient. ste es el proveedor predeterminado para el controlSqlDataSource; si se conecta a una base de datos de SQL Server mediante el control SqlDataSource, no es necesario especificar explcitamente un proveedor. Proveedor de datos de .NET Framework para OLE DB en el espacio de nombres System.Data.OleDb. Proveedor de datos de .NET Framework para ODBC en el espacio de nombres System.Data.Odbc. Proveedor de datos de .NET Framework para Oracle en el espacio de nombres System.Data.OracleClient.
El proveedor se puede especificar en el archivo Web.config como parte de una cadena de conexin o como una propiedad de un control de origen de datos individual en una pgina.
Cadenas de conexin
Una cadena de conexin proporciona la informacin que un proveedor necesita para comunicarse con una base de datos determinada. Se puede almacenar en el archivo Web.config y hacer referencia a la entrada de configuracin en un control de origen de datos. Dependiendo del proveedor, una cadena de conexin generalmente proporciona el servidor o la ubicacin del servidor de bases de datos, la base de datos que se debe utilizar y la informacin de autenticacin. Al igual que ocurre con el proveedor, la cadena de conexin se puede incluir en el archivo Web.config o como una propiedad de un control de origen de datos individual en una pgina.
Cmo: Proteger cadenas de conexin al utilizar controles de orgenes de datos (Visual Studio)
Al trabajar con controles de origen de datos debe centralizar la ubicacin de las cadenas de conexin situndolas en el archivo Web.config de la aplicacin. Los beneficios son dobles: los controles del origen de datos podran hacer referencia al nombre de la cadena de conexin del archivo de configuracin en lugar de incluir la cadena de conexin como una propiedad de control; y la administracin del sitio es ms fcil porque la administracin de cadenas de conexin es centralizada, lo que elimina la necesidad de volver a visitar pginas individuales si la informacin de las cadenas de conexin cambia. En este tema aprender a colocar las cadenas de conexin dentro del archivo Web.config utilizando Visual Studio y un control de origen de datos, y cmo utilizar la utilidad de la lnea de comandos, Aspnet_regiis.exe, para cifrar esas cadenas de conexin para obtener una capa de seguridad adicional.
Cmo agregar una cadena de conexin a Web.config con un control de origen de datos
1. 2. 3. 4. 5. 6. 7. Abra una pgina .aspx en la vista Diseo en Visual Studio. En el Cuadro de herramientas, en la carpeta Datos, arrastre un control de origen de datos, por ejemplo un control SqlDataSource, hasta la superficie de diseo. Haga clic con el botn secundario del mouse en el control y, a continuacin, haga clic en Mostrar etiqueta inteligente. En el panel de etiquetas inteligentes, haga clic en Configurar origen de datos. En el panel Elegir una conexin de datos, haga clic en Nueva conexin. Seleccione un origen de datos adecuado de la lista en el cuadro de dilogo Elegir una conexin de datos, y luego haga clic en Aceptar. Indique el nombre de servidor, nombre de usuario y contrasea correctos en el cuadro de dilogo Agregar conexin, y despus haga clic en Aceptar. Regresa al cuadro de dilogo Configurar origen de datos con un resumen de los detalles de su conexin. 8. Haga clic en Siguiente, y luego en S para guardar su cadena de conexin en el archivo Web.config. La cadena de conexin ahora se almacena en el archivo Web.config y puede configurar los detalles de la consulta para su control.
dTPumuZK0yW1XDZ5gkfBuqgn8hmosTE7mCvieP9rgATf6qgLgdA6zYyVV6WDjo1qbCV807lcz xa3bF5KzKaVUSq5FS1SpdZKAE6/kkr0Ps++CE= </CipherValue> </CipherData> </EncryptedData> </connectionStrings> </configuration> Deje el smbolo del sistema abierto para los pasos posteriores. 2. Determine la cuenta de usuario o identidad con la que se ejecuta ASP.NET recuperando el nombre de WindowsIdentity actual. En el siguiente ejemplo de cdigo se muestra una forma de determinar el nombre de WindowsIdentity. VB <%@ Page Language="VB" %> <% Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Nam e) %> C# <%@ Page Language="C#" %> <% Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Nam e); %>
Nota
De forma predeterminada, en Windows Server 2003 con suplantacin de una aplicacin ASP.NET deshabilitada en el archivo Web.config, la identidad con la que se ejecuta est en la cuenta NETWORK SERVICE. En las otras versiones de Windows, ASP.NET se ejecuta bajo la cuenta ASPNET local.
La cuenta de usuario o la identidad con la que se ejecuta ASP.NET debe tener acceso de Lectura a la clave de cifrado utilizada para cifrar y descifrar las secciones del archivo Web.config. En este procedimiento se supone que su sitio Web se configura con el RsaProtectedConfigurationProvider predeterminado especificado en el archivo Machine.config denominado "RsaProtectedConfigurationProvider". El contenedor de claves RSA utilizado por el RsaProtectedConfigurationProvider predeterminado se denomina "NetFrameworkConfigurationKey". 3. En el smbolo del sistema, ejecute la herramienta Aspnet_regiis.exe con las opciones siguientes:
La opcin -pa, pasndole el nombre del contenedor de claves RSA del RsaProtectedConfigurationProvider predeterminado La identidad de la aplicacin ASP.NET, como se determin en el paso anterior.
En el ejemplo siguiente se muestra cmo conceder el acceso de la cuenta NETWORK SERVICE al contenedor de claves RSA de "NetFrameworkConfigurationKey" en el nivel de equipo. aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY\NETWORK SE RVICE" 4. Para descifrar el contenido cifrado del archivo Web.config, ejecute la herramienta aspnet_regiis.exe con la opcin -pd. La sintaxis es igual que la usada para cifrar el contenido del archivo Web.config con la opcin -pe, excepto que no se especifica ningn proveedor de configuracin protegido. Se identifica el proveedor adecuado en el atributo configProtectionProvider para la seccin protegida. En el siguiente ejemplo de cdigo se muestra cmo descifrar el elemento connectionStrings de la aplicacin ASP.NET SampleApplication. aspnet_regiis -pd "connectionStrings" -app "/SampleApplication"
Con este truco informtico podremos leer la cadena de conexin del Web Config en ASP.NET 2.0. Primero crearemos la cadena de conexin en el web config:
<;connectionStrings>; <;remove name="LocalSqlServer" />; <;add name="LocalSqlServer" connectionString="Data Source=myDBServer;database=myDB;Integrated Security=True;" providerName="System.Data.SqlClient"/>; <;/connectionStrings>;
En VB.NET:
Dim strConnString As String = ConfigurationManager.ConnectionStrings("LocalSqlServer").ConnectionString