Seguridad en acceso a datos

Buenas, ¿qué tal?
Tengo la siguiente situación. Para un cliente diseñé una base de datos Access2007 con tablas vinculadas a un mySQL que tengo en un servidor. El cliente tiene la base de datos en local y accede en remoto a los datos vía ODBC.
La base de datos almacena registros de consumos, varios miles.
Hasta ahí, todo bien.
Ahora otro cliente me pide lo mismo y he pensado usar la misma base de datos en mySQL y en local en Access. He creado las tablas de empresa y formulario de acceso con password para que cada cliente acceda a sus datos solamente.
Bien. Mi problema es que no sé como ocultar eficazmente las tablas en Access, de modo que, cualquier cliente que se lo curre un poco puede acceder a las tablas directamente y ver los datos del otro, manipularlos o lo que sea.
No quiero crear 2 bases de datos en mySQL, que es la otra opción, y darle a cada cliente un ODBC distinto, porque si tengo un tercer, cuarto, ... Cliente al final es tener un montón de bases de datos y multiplicar por n las labores de mantenimiento.
Bueno, después de todo este rollo, me gustaría que me recomendaras si existe algún mecanismo en mySQL para evitar esto. De Access creo que sé algo, pero de mySQL muy poco. He pensado que podría existir alguna forma de controlar el acceso a los registros de las tablas, pero no he encontrado nada útil hasta ahora.
Seguro que este tema está ya resuelto, así que te pregunto.
Cualquier ayuda en ese sentido es bienvenida.
Muchas gracias.
1

1 Respuesta

98.900 pts. Hola ... Estudio Ingenieria en Sistemas, con...
Bueno la verdad no tienes que hacer eso, lo que debes de hacer es una tabla que tenga los accesos en tu base de datos de mysql, ya que como sabrás si escondes una tabla o una base de datos, sino la pueden ver tus usuarios, tampoco la podrá ver tu programa entonces lo aconsejable es que tengas una tabla usuarios con los permisos que necesitas enn tu base de datos, y ya que se conectan por medio de odbc no necesitas hacer varias tablas ya que mysql trabaja cliente, servidor esto quiere decir que puede implementar threads paralelos para que no tengas ningún problema !
Eso es lo que yo aria, y por ejemplo tener en mi tabla usuario, password, permiso1
y el permiso1 es boolean entonces antes de acceder a algo pregunto si el permiso1 es verdadero o es falso para que así no se me complique y le daría mantenimiento solo a 1 base de datos, y los clientes no tendrían mantenimiento por que solamente es la aplicación que servirá de comunicación de comandos al servidor, y el servidor es quien se encargaría de esto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas