Crear una base de datos de lista de control de accesos: ACL
Publicado por Hector (1 intervención) el 09/12/2017 14:44:15
Buenos días a todos.
Llevo unos días realizando un ejercicio, pero no se si está bien, a ver si alguien me puede confirmar que está todo ok, o si se puede optimizar y evitar redundancias en la base de datos.
El enunciado
Deseamos implementar un sistema de control de accesos para los recursos cuya información está disponible en una base de datos.
- Creamos una tabla que contiene todos los usuarios que pueden tener permisos: id, nombre, apellidos, comentarios, fecha de alta, fecha de última conexión, fecha de baja.
- Los permisos sobre los recursos son: Crear (si es una carpeta, por ejemplo; en otros casos no tiene sentido), Leer, Modificar, Borrar, Asignar_usuarios, Quitar_usuarios, Cambiar_permisos_todos, Cambiar_permisos_propios.
- Existe una tabla de recursos. Los recursos no pueden tener el nombre repetido. Su formato es como el de una URL. Tienen los atributos: id, nombre, fecha de creación, fecha de modificación, fecha de borrado. Y se guarda la referencia del usuario que lo creó, el último en modificarlo, y el que lo borró. Los recursos no se borrar físicamente (sino que se mueven a una "papelera").
- Un recurso puede estar dentro de otros (por ejemplo si son carpetas). Y cada uno de ellos contener muchos recursos.
- Un usuario tiene permisos sobre muchos recursos, y un recurso tiene muchos usuarios con permisos sobre él.
- Existe un archivo de alertas en el que se guardan todos los intentos de acceder a un recurso del que no se tiene ningún permiso. Y por cada operación intentada y para la que no se tenía permiso. Esta tabla tiene registros autonumerados, guarda la fecha y la hora del intento, una referencia al usuario, otra al recurso, y el tipo de operación que intentó. Las operaciones son las mismas que los permisos, y una más denominada: Sin_acceso, para el intento cuando no está en la lista de usuarios con permisos sobre el recurso.
- Construir la base de datos.
Aquí les dejo el modelo relacional de este ejercicio que he creado, pero que repito no se si está ok.
https://imgur.com/a/z8OEV
Gracias
Un saludo
Llevo unos días realizando un ejercicio, pero no se si está bien, a ver si alguien me puede confirmar que está todo ok, o si se puede optimizar y evitar redundancias en la base de datos.
El enunciado
Deseamos implementar un sistema de control de accesos para los recursos cuya información está disponible en una base de datos.
- Creamos una tabla que contiene todos los usuarios que pueden tener permisos: id, nombre, apellidos, comentarios, fecha de alta, fecha de última conexión, fecha de baja.
- Los permisos sobre los recursos son: Crear (si es una carpeta, por ejemplo; en otros casos no tiene sentido), Leer, Modificar, Borrar, Asignar_usuarios, Quitar_usuarios, Cambiar_permisos_todos, Cambiar_permisos_propios.
- Existe una tabla de recursos. Los recursos no pueden tener el nombre repetido. Su formato es como el de una URL. Tienen los atributos: id, nombre, fecha de creación, fecha de modificación, fecha de borrado. Y se guarda la referencia del usuario que lo creó, el último en modificarlo, y el que lo borró. Los recursos no se borrar físicamente (sino que se mueven a una "papelera").
- Un recurso puede estar dentro de otros (por ejemplo si son carpetas). Y cada uno de ellos contener muchos recursos.
- Un usuario tiene permisos sobre muchos recursos, y un recurso tiene muchos usuarios con permisos sobre él.
- Existe un archivo de alertas en el que se guardan todos los intentos de acceder a un recurso del que no se tiene ningún permiso. Y por cada operación intentada y para la que no se tenía permiso. Esta tabla tiene registros autonumerados, guarda la fecha y la hora del intento, una referencia al usuario, otra al recurso, y el tipo de operación que intentó. Las operaciones son las mismas que los permisos, y una más denominada: Sin_acceso, para el intento cuando no está en la lista de usuarios con permisos sobre el recurso.
- Construir la base de datos.
Aquí les dejo el modelo relacional de este ejercicio que he creado, pero que repito no se si está ok.
https://imgur.com/a/z8OEV
Gracias
Un saludo
Valora esta pregunta
0