MS Nivel de acceso del usuario Seguridad para el Formulario para ser leído, pero la tabla que se oculta

StackOverflow https://stackoverflow.com/questions/930654

  •  06-09-2019
  •  | 
  •  

Pregunta

¿Puede la seguridad a nivel de usuario permitirá a alguien para acceder a un formulario, pero no acceder a una tabla? Tengo una forma que está conectado a una tabla mediante un comando "SELECT". No "actualizar" o "Borrar". Me gustaría que el usuario acceda a mi forma, pero no quiero que sean capaces de ver los detalles en la tabla subyacente. He intentado todo tipo de combinaciones en el asistente de seguridad a nivel de usuario, pero por alguna razón, mi forma aparece en blanco, a menos que dé un acceso completo al usuario a hacer nada. ¿Algunas ideas? Por cierto, estoy en Access 2003.

No hay solución correcta

Otros consejos

Se podría hacer un MDE y darle a sus usuarios. Si hace esto, los usuarios no podrán ver nada más que la interfaz de usuario que ha proporcionado.

Si las tablas están en la misma base de datos Access como las formas y las consultas, primero tiene que "dividir la base de datos" en un frontend y backend. Ver:

http://databases.about.com/od/tutorials/ss /splitaccessdb.htm

Para obtener información sobre cómo hacer esto. La interfaz contiene todo, pero las mesas. El back-end contiene las tablas. La interfaz está vinculada a las tablas de back-end utilizando objetos "tablas vinculadas" en el frontend.

Una vez que la base de datos se divide, abra la interfaz de acceso, y crear un MDE seleccionando Utilidades / Herramientas de base de datos / Crear archivo MDE en la barra de menú. El MDE es lo que proporciona a los usuarios. Se abren de la misma manera que lo haría con cualquier otra base de datos, con la excepción de que no pueden diseñar cualquiera de los objetos.

Asegúrese de que tiene una macro AUTOEXEC definido en la interfaz, por lo que cuando el MDE es abierto por el usuario, que tiene un punto de entrada. El usuario no puede ver cualquiera de los objetos en el MDE, por lo que si usted no tiene una macro AutoExec para abrir la primera forma, no pasará nada cuando tratan de abrir el MDE.

Si necesita la capacidad de gestionar las tablas vinculadas en el MDE, permitiendo al usuario para conectarse a la base de datos back-end con un cuadro de diálogo Archivo / Abrir, consulte el artículo siguiente:

http://www.mvps.org/access/tables/tbl0009.htm

Por supuesto, nada de esto se opone a sus usuarios abrir la base de datos back-end. Si necesita mayor seguridad, puede que convierta la base de datos back-end de SQL Server Express. Más información aquí:

http://office.microsoft.com/en-us/access /HA102755371033.aspx

Lo que estamos buscando es una consulta RWOP. Eso significa "correr con el permiso de propietario."

Para hacer que funcione, suponiendo que ya ha ejecutado el asistente de seguridad en su front-end y back-end y bases de datos eliminarán permisos para los usuarios de leer incluso las tablas, a continuación, crear una consulta guardada como el origen del registro de su formulario. En las propiedades de la consulta, que se establece por defecto a RUN permisos como "usuario de." Cambiarlo por "el dueño del" y guardar la consulta. La consulta se ejecutará con cualesquiera permisos en la tabla base del propietario de la consulta tiene. Si está ejecutando como administrador con todos los permisos, tendrá que configurar los permisos de la consulta guardada a sólo lectura (o crear la consulta bajo un inicio de sesión de usuario que haya acceso de sólo lectura a las tablas - es mucho más fácil hacer lo primero).

Algunas advertencias:

  1. seguridad a nivel de usuario es complicado. Si se le pasa ni un solo paso que se describe en el Libro Blanco de seguridad ULS, no se puede asegurar su aplicación. La manera de comprobar esto es abrir el acceso con un archivo de grupo de trabajo predeterminado y luego ver si se puede acceder a los objetos en su base de datos iniciado la sesión como usuario administrador por defecto. Si puede, entonces ha cometido un error en alguna parte a lo largo de la línea.

  2. seguridad a nivel de usuario es manipulable por cualquier persona que quiera. Esto no significa que no sea útil, sólo significa que no es a prueba de balas. No se preocupe por eso por lo tanto, como ya considerar la seguridad tanto un problema de personas como un problema técnico - usted tiene que dar a los empleados privilegios suficientes para realizar su trabajo, y hay que confiar en ellos que no van a abusar de los privilegios que les has dado.

  3. si se está ejecutando Access 2007 y con el formato ACCDB, consultas RWOP no están disponibles para usted, como la seguridad a nivel de usuario Jet no es compatible con el formato ACCDB. Si está usando el formato MDB, sin embargo, funcionará bien en A2007.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top