Impedir/evitar modificación diseño de tablas access

Tengo dos archivos de base de datos en access, el primero con las tablas de datos y el segundo con consultas, formularios, código... Y con las tablas vinculadas a la primera bd.
A esta base de datos acceden varias personas, y por preferencias a la hora de diseñar formularios e informes, opté por implementar yo mismo los privilegios de acceso en lugar de utilizar la seguridad por usuarios de access (en casi todos los formularios por ejemplo, aparecen o desaparecen campos o controles en función de los privilegios del usuario, cosa que no supe como hacer con la seguridad por usuarios de access).
Para el control de acceso, en una tabla denominada [usuarios], tengo el nombre de cada usuario, sus privilegios y la clave de acceso de cada uno con una mascara de tipo 'contraseña'.
El problema que me encuentro es que cualquier persona con pocos conocimientos puede coger la base de datos donde están las tablas y accediendo al diseño de la tabla [usuarios] quitar la mascara de entrada y utilizar cualquier contraseña para acceder como un usuario con plenos derechos.
¿Existe alguna manera de hacer que solo la segunda base de datos pueda acceder a la primera sin que esta última pueda abrirse a lo bestia?
¿O bien puede hacerse que la base de datos de tablas solo pueda abrirse en modo lectura? (He probado con seguridad por usuarios, pero te deja quitar la mascara y ver las contraseñas aunque luego no te deje grabar la tabla)
¿Se te ocurre alguna otra solución para dotar de una seguridad aceptable a la base de datos con los términos que te indico? Esto es, que nadie pueda descifrar las claves de acceso que tengo guardadas en esa tabla pero todos puedan acceder utilizando los formularios de acceso que he creado (omitiendo segundas claves de la seguridad por usuarios).
Te estaré eternamente agradecido, pues he sido autodidacta para hacer una buena base de datos a excepción de tres consultas (esta es la cuarta) y después de dos días enteros de intentos y pruebas estoy a punto de darme por rendido.
Gracias!
{"lat":39.5085273193216,"lng":-0.431513786315918}

1 Respuesta

Respuesta
1
La pregunta es recurrente, y la respuesta también lo será. Yo no uso el access para la gestión de usuarios, la seguridad en el access es de 'juguete'. Cuando necesito usuarios lo que hago es instalar sql server (el express es gratis) y los usuarios y tablas los gestiono con sql server que es una Bd más seria y accedo a través de odbc (por ejemplo).
No te será difícil pues su gestión es como el access, con una ventaja:
Una consulta de una BD de access no puedes vincularla a otra BD de access, sin embargo una vista de sql si puedes. Dicho de otra forma, el access 'no distingue' entre tablas y vistas de sql.
Además en sql tienes los triggers, desencadenadores, es código sql que se ejecuta cuando tu insertas, modificas o borras de una tabla, por lo que puedes hacerte log's etc.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas