2009-08-14 29 views
8

Esto podría ser un duplicado (question) pero estoy buscando específicamente las mejores prácticas de .NET.¿Cuál es la mejor práctica para almacenar detalles de conexión de base de datos en .NET?

Cómo almacenar cadenas de conexión de base de datos, nombre de usuario y contraseña, etc. de forma segura? ¿Es una app.config encriptada la mejor en la mayoría de los casos?

También me gustaría poder establecer la contraseña en el archivo de configuración y luego cifrarla tan pronto como se inicie la aplicación. (No estoy pidiendo una solución ya que he resuelto esto antes, solo estoy buscando la (s) mejor (s) práctica (s)).

También estoy interesado en soluciones alternativas con las que tenga buenas experiencias.

Respuesta

7

Creo que la mejor práctica es usar seguridad integrada si es posible, por dos razones ... Es la solución más fácil de administrar y es la solución más fácil para hacerlo bien.

Si por alguna razón no puede usar la seguridad integrada y tiene que usar el nombre de usuario y la contraseña, cifrelos usando algo como el Administrador de configuración Enterprise Library para encriptar secciones de su web.config.

+0

este es el mejor enfoque y seguimos a widley .... – RameshVel

+0

Gracias, nunca antes había usado la biblioteca Enterprise, la verificare. – Ezombort

+0

Las conexiones se agrupan de acuerdo con la cadena de conexión más la identidad del usuario. El uso de Integrated Security podría provocar la fragmentación del conjunto de conexiones. (http://msdn.microsoft.com/en-us/library/8xx3tyca.aspx). –

1

Eso sería web.config. Puede cifrar la cadena de conexión si la gravedad es una preocupación.

0

Algo que he encontrado para ser útil últimamente, es el servicio de inicio de sesión único de Microsoft. Si necesita utilizar la Autenticación SQL, puede almacenar las credenciales reales en una base de datos cifrada.

Cuestiones relacionadas