• Domingo 22 de Diciembre de 2024, 23:52

Autor Tema:  Acceso A Db Desde Vb  (Leído 9356 veces)

patitofeo

  • Miembro MUY activo
  • ***
  • Mensajes: 145
    • Ver Perfil
Re: Acceso A Db Desde Vb
« Respuesta #25 en: Lunes 23 de Enero de 2006, 10:59 »
0
Bueno:

Yo os explico el problema desde el principio y me decis donde me equivoco o me pierdo. Ya os he dicho que estoy empezando....

El acceso a la base de datos desde mi aplicacion en Visual Basic debe comportarse de forma diferente dependiendo de que usuario trate de acceder (problema bastante comun). La base de datos es una base de Datos Access 2000 que trabaja en local, en el mismo PC donde estara la aplicacion. Yo accedo a ella directamente con el driver del Motor Jet de Windows/Visual Basic.
Código: Text
  1.  
  2. BaseDeDatos.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" _
  3.     & App.Path & "/Data/DB.mdb;"
  4.  
  5.  

Como la base de Datos va ha estar en local, pense que debería proteger el fichero (la base de datos como tal). Tras paparme un poco de ayuda y rebuscar por internet (ya que no he tirado nunca mucho de Access) encontre lo de la gestion de usuarios y grupos de Access.

Dije "perfecto! todo solucionado". Cree, una cuenta de usuario 'administrador' con todos los permisos y una cuenta 'consulta' con permisos restringidos (solo consultas, como su propio nombre indica)

Esto fue bastante bien. Cuando intentaba abrir el fichero (de forma externa a mi aplicación. Simplemente doble click sobre el icono) Access me pedia nombre de usuario y password.

Pense que ya estaba todo arreglado. Luego trate de abrir la base de datos desde mi aplicacion y resulto qeu indicando el nombre de usuario y el pass, el visual se cascaba un error diciendo que faltaba un fichero de gestion de usuarios.

Cuando descubri lo que era eso, vi que era una cagada, ya que si la gestion de usuarios y grupos esta en otro fichero, con borrar ese fichero, la puerta hacia mi base de datos estaba abierta (no hace falta ser hacker para hacer esto). A pesar de todo segui a delante y cree el fichero .vbw .

No consegui acceder a la base de datos usando un usuario. Siempre me resultaba el mismo error.

Luego pude ver que en cualquiera de los casos (con politica de usuarios y grupos, con fichero .vbw, sin el, de cualquier modo) no puedo acceder poniendo explicitamente el nombre de usuario y password pero SIEMPRE puedo acceder directamente sin ponerlo.

¡Que gracioso!  :kicking:

Finalmente opte por la solución que no queria utilizar desde el princio que es incluir el password que da los permisos en una tabla de la BD y gestionar esos permisos desde mi aplicación. Lo cual no protege nada, ya que si alguien quiere modificar la Base de datos solo tiene que hacer doble click sobre el fichero en cuestion y modificar lo que quiera. Le puse una clave como antes para que por lo menos no pudiesen hacer esto. Pero ahora, el administrador necesita saber la clave que protege el fichero que no tiene porque coincidir con la que hay en la tabla "password"  ya que esta segunda se puede cambiar. No es el mayor problema ya que en principio nunca debería hacer falta trabajar sobre el fichero directamente abriendolo con access

De todos modos esto sigue asi porque hasta donde he podido ver. Las bases de datos Access son de todo menos seguras ni comodas.

Ahora, tengo que trabajar el doble al hacer mi aplicación para gestionar de forma externa los permisos para los usuarios (al menos que alguien me clarifique el camino y me de una solucion) y además estoy seguro que si alguna persona que no tiene permisos se propone conseguirlos, no le sera muy dificil aunque no tenga ni idea de informatica.

Esta es la forma mas segura que he encontrado para la base de datos. Clave en una tabla y fichero con usuarios y protegido con Clave.

 :hola:  Saludos

Mellileo

  • Miembro MUY activo
  • ***
  • Mensajes: 110
    • Ver Perfil
Re: Acceso A Db Desde Vb
« Respuesta #26 en: Lunes 23 de Enero de 2006, 14:53 »
0
Hola Amigo patitofeo:

Si lo que quieres es que nadie te abra la BD de Access haciendo doble clic sobre el archivo.... y dado que como sabes, access no ofrece la mejor seguridad del mundo... te recomiendo que encriptes el archivo de BD.

Yo lo he hecho y me ha dado excelentes resultados... ya que tu puedes encriptar y descencriptar el archivo solamente cuando ejecutas tu aplicación.

Para mayor información visita este post:

cómo encriptar una base de datos

Espero te sirva como me ha servido a mi.

Saludos.
Saludos...

Mellileo!!

patitofeo

  • Miembro MUY activo
  • ***
  • Mensajes: 145
    • Ver Perfil
Re: Acceso A Db Desde Vb
« Respuesta #27 en: Lunes 30 de Enero de 2006, 13:27 »
0
Gracias:

Esa puede ser una solución. Aunque me parece bastante fea. El hecho de que tengas que "desmontar" el fichero y volverlo a montar en cada uso. buff!!!

No obstante me parece la mejor solucion. gracias de nuevo

Saludos  :hola: