Búsqueda R ápida
![]() |
|
|||
|
1º Ubicación de la cadena de conexión La pregunta es ¿Dónde pongo la cadena de conexión a mi base de datos? ![]() Bueno seguramente muchos lo ponen en el código mismo, directamente o en una clase aparte, todo esta bien, y de hecho funciona correctamente, pero por motivos de seguridad no sería muy recomendable hacerlo, ¿Porqué?, una vez compilado tu aplicación y generados los archivos dlls es posible desensamblar estos y ver el código que está oculto dentro, este tema lo trataremos en otro hilo, por ahora nos interesa la seguridad de nuestra cadena de conexión. Para nuestro caso lo recomendable sería colocar la cadena en un archivo XML aparte, si la aplicación es de escritorio en el App.config (Application Configuration File), y si es web en el Web.config, ambos archivos podemos generarlos haciendo click derecho sobre el proyecto, add new Application Configuration File, cuyo nombre por defecto es App.config Vemos que se agrega un archivo asi: Código PHP:
Código PHP:
Desde la aplicación tenemos que usar la libreria: using System.Configuration; y para recuperar desde el archivo App.config, por ejemplo en un string String cadenaConexion = ConfigurationManager.ConnectionStrings["Conexion"].ConnectionString; Y Tenemos nuestra cadena de conexión lista para usarla... ![]() |
|
|||
|
Encriptar la cadena de conexión - h@nz …el Geek Como se dice en el artículo, esta encriptación sólo nos permite encriptar nuestra cadena en el equipo en el que instalamos nuestro sistema, pero imaginemos hacer esto siempre , un poco tedioso no?, en especial si se tratá de un sistema que trabaja en red. Es por esta razón que investigando un poco encontré una forma de hacerlo directamente al momento mismo de la instalación.Para esto nos ayudaremos de la clase "Installer Class", la cual controla los eventos durante la instalación del sistema, más información se puede encontrar aqui: Installer (Clase) (System.Configuration.Install) Bien, entonces lo que hacemos es agregar una clase Installer en nuestro proyecto: Add, New Item, Installer Class Vamos al código de la clase presionando F7 y a continuación tenemos: Código PHP:
El Procedimiento heredado es el de Install, la misma que se ejecuta durante la instalación, y la redefinimos asi: Código PHP:
Código PHP:
Recuerdan nuestro archivo App.config?, bueno aqui tenemos que agregar unas cuantas líneas que usará el encriptador: Código PHP:
|
|
|||
|
Cita:
Hola, muy bien tu articulo solo que hay un detalle , no se ven las imagenes que pusiste para lo del "custom action" solo se ve una, no tendrás toda la explicacion que pusiste en un archivo o algo así?. Y otra duda... cuando agrego la clase Installer : public partial class Installer2 : Installer { public Installer2() { InitializeComponent(); } } } } Ime marca un error , me dice que la clase base (Installer) es menos accesible que la clase Installer2, faltará ponerle algo más a la case? Gracias por tu ayuda... |
|
|||
|
Cita:
Pero bueno, solo serían las imáginas que no se ven, te lo agradecería mucho . |
|
|||
, mientras tanto, puedes hacerle click en cada imagen y se abrirá una ventana en la cuál pudes ver estas en un tamaño mucho mayor.Para aclararte un poco lo del custom action, lo que hacemos es agregarle una nueva acción al proyecto durante la instalación, ésta acción es la que definimos en la clase Installer, para esto como habrás visto, sólo agregamos un nuevo Custom Action en la acción Install, y entre las propiedades de éste, en "CustomActionData" ponemos el sgte comando: /sectionName = "connectionStrings" /provName="DPAPIProtection" Saludos y si tienes alguna duda me avisas.
|
|
|||
|
Cita:
Hola JehrDa, Voy a revisar la info que me escribiste, y te comento. Gracias!!
|
![]() |
| Herramientas | |
| Desplegado | |
|
|