¿Como establecer la conexión con la base de datos?

66 views
Skip to first unread message

Fabricio Sandoval

unread,
Jan 28, 2015, 10:01:37 AM1/28/15
to publice...@googlegroups.com
Buenos días, tengo una duda, como conectarse a la base de datos desde una aplicación?

En mis aplicaciones acostumbro conectarme usando nombre de usuario y contraseña de SQL en la cadena de conexión.

Sin embargo hay quienes me aseguran que es mejor hacerlo por medio de autenticación de windows.

Cabe destacar que el usuario de sql o inicio de sesión de sql es único, con ese usuario la aplicación tiene acceso a la base de datos, y dentro de la aplicación hay definidos varios usuarios, cada uno con un perfil o rol determinando sus permisos (opciones).

Veamos este escenario:

Hay un servidor con Windows Server 2008, tienen instalado MS SQL Server 2008 R2, hay varias computadoras dentro de la red con Windows 7/8, pero estos equipos no usan dominio, el acceso al servidor es por recursos compartidos dentro de la red.

- ¿Cual es la mejor forma de realizar la conexión desde la aplicación hacia SQL Server?
- ¿Por qué?
- ¿Cuáles son las ventajas y desventajas?
- ¿Existirían otras sugerencias si los equipos usaran autenticación a un dominio?

Como comentario adicional, en ocasiones es necesario que un usuario se identifique en la aplicación con su usuario, pero desde otro equipo que no es el que utiliza habitualmente.

Gracias por sus comentarios.

Fabricio Sandoval

unread,
Jan 29, 2015, 9:20:42 AM1/29/15
to publice...@googlegroups.com
Buenos días

Continuo pensando que agregar en SQL inicios de sesión como autenticación de windows no es muy funcional, nunca lo he usado por eso lo pienso, es muy probable que esté equivocado.

En cambio crear usuarios de SQL o inicios de sesión de SQL, me parece una mejor idea, ya que con ello incrementaría la seguridad del acceso a la base de datos, aunque quizás sea una tarea que se deba programar al mayor detalle posible respecto a cada tabla o columna.

En el sistema o aplicación, asociaría a cada usuario un usuario de SQL, y en ambos lados tendrán asociados sus respectivos roles.

Hasta este punto, se me ocurre que en el sistema tendría que crear roles de acceso a la aplicación, estos roles deben concordar con el rol de SQL, de lo contrario no serviría de mucho asignar permisos individuales en la aplicación y que estos entren en conflicto con el rol de SQL.

Todo en pura teoría, a como ya lo dije no lo he hecho nunca, pero me interesa bastante este nivel de seguridad, por eso mi interés en escuchar la experiencia de los miembros del grupo.

Saludos

Carlos Miguel FARIAS

unread,
Jan 29, 2015, 4:08:15 PM1/29/15
to Grupo Fox
También puedes hacer lo que dices, pasa de que crear usuarios windows y usuarios sql server, me parece doble de trabajo. Pero si tu aplicación tiene que pasarle contraseñas a los usuarios de la bd, ya es algo (tu aplicación) que puede ser sometido a II y tu bd hackeada.
En cambio, si las password las maneja windows, es un nivel más seguro.
Saludos: Miguel, La Pampa (RA)

Luis la Romana

unread,
Feb 3, 2015, 12:41:19 PM2/3/15
to publice...@googlegroups.com
En mi criterio el SQL debe instalarse usando seguridad mixta, con eso el usuario que estaba cuando se hizo la instalación queda como administrador también.
Para la instalación está bien eso, pero para uso operacional es mejor que hagas usuarios propios del SQL en el Management Studio, luego en cada pc creas un DSN en el ODBC (conexión al SQL) con el usuario y password respectivo de cada usuario. Luego en tu aplicación solo llamas a la conexión DSN y listo, no necesitas involucrar usuarios y password en tu programación, pero en el SQL queda registrado el log de cada usuario.

Reply all
Reply to author
Forward
0 new messages