Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Menu de sistema en base de datos

Estas en el tema de Menu de sistema en base de datos en el foro de Bases de Datos General en Foros del Web. Hola a todos, tengo una consulta, en un proyecto web que estoy realizando, necesito poder dar permisos a los usuarios desde el mismo sistema,. Para ...
  #1 (permalink)  
Antiguo 20/03/2015, 14:42
 
Fecha de Ingreso: diciembre-2014
Ubicación: Lima
Mensajes: 68
Antigüedad: 9 años, 11 meses
Puntos: 0
Menu de sistema en base de datos

Hola a todos, tengo una consulta, en un proyecto web que estoy realizando, necesito poder dar permisos a los usuarios desde el mismo sistema,.
Para ello quiero poder gestionar el menu en la base de datos.
Pero esto me confunde.
En total mi sistema tienen 11 menus y cada uno de ellos tiene al rededor de 5 a 6 submenus, y algunos submenus tienen submenus.

Lo que tengo en mente es crear la tabla menu de esta forma.
TB_Menu
id
nombre

TB_Submenu
idSMenu
nombre
idMenu

Mi idea es poder dar accesos desde un formulario usando chekbox.
Otra idea que tengo es que la tabla menu tenga campos asi:
TB_Menu
menu1
menu2
menu3
menu4...

TB_SubMenu
smenu1
submenu2
submenu3...

Otra idea que tengo es de crear mi tabla perfil y ahi poner los campos que identifiquen al menu
TB_Menu
id
perfil
menu1
menu2
menu3
menu4
menu5, etc

O otra es crear una tabla menu unica que contenga cada uno de mis menus que en total son 35, osea seria una tabla con 35 campos..pero no me agrada la idea..

Mi sistema tienen 3 tipos de usuarios, y a algunos que pertenecen a tal area no se le va a dar acceso a todas las que le corresponde, sino solo a determinados.

Pienso que cada usuario debe tener su propio menu, muy aparte del perfil que tenga, si tengo 20 usuarios, pues debo tener 20 menus, pero solo 3 perfiles...no se si me dejo entender.
Espero aclaren mis dudas.
  #2 (permalink)  
Antiguo 20/03/2015, 15:06
 
Fecha de Ingreso: febrero-2015
Mensajes: 89
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: Menu de sistema en base de datos

Pero el acceso y control a los menus no lo puedes hacer en la programación? cual es la diferencia ?
  #3 (permalink)  
Antiguo 20/03/2015, 15:08
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Menu de sistema en base de datos

que eso se puede manejar mucho mejor desde la capa de base de datos ;)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #4 (permalink)  
Antiguo 20/03/2015, 15:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Menu de sistema en base de datos

Una aproximación:

Cita:
Menu(idMenu, idPadre, idPerfil, idRol, menu_titulo, rutaScript)
Perfil(idPerfil, descripcio, idRol)
Rol(idRol, descripcion, idPerfil)
Usuario(idUsuario, idPerfil, clave, username, nombre, apellido, ...)
Con un esquema mas o menos como ese, sin perfil no tienes acceso a los menúes, y sin los menúes no puedes ver las rutas de las vistas correspondientes.
Con una query no muy elaborada puedes cargar dinámicamente todo, desde los menues hasta las vistas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 20/03/2015, 20:03
 
Fecha de Ingreso: diciembre-2014
Ubicación: Lima
Mensajes: 68
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Menu de sistema en base de datos

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Una aproximación:



Con un esquema mas o menos como ese, sin perfil no tienes acceso a los menúes, y sin los menúes no puedes ver las rutas de las vistas correspondientes.
Con una query no muy elaborada puedes cargar dinámicamente todo, desde los menues hasta las vistas.
Hola, en este caso, cuando creo un usuario debo crear un registro en cada tabla?.
  #6 (permalink)  
Antiguo 23/03/2015, 10:10
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Menu de sistema en base de datos

en ese esquema no, se genera un renglon por cada usuario :)

Usuario(idUsuario, idPerfil, clave, username, nombre, apellido, ...)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 23/03/2015, 17:09
 
Fecha de Ingreso: diciembre-2014
Ubicación: Lima
Mensajes: 68
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Menu de sistema en base de datos

Cita:
Iniciado por Libras Ver Mensaje
en ese esquema no, se genera un renglon por cada usuario :)

Usuario(idUsuario, idPerfil, clave, username, nombre, apellido, ...)
¿Ese reglon es en el menu?

Osea creo y un usuario, luego le quiero asignar permisos del sistema, quiero que solo acceda al menu prduccion pero de los 5 submenus solo quiero que acceda a 3.

Tengo la tabla usuario(idUsuario, idPerfil, clave, username, nombre, apellido...)
Tabla Perfil (idPerfil, descripcion)

Ahora tengo pensado crear dos tablas mas, Menu y Submenu
Menu que contenga esto: Menu(idMenu, nombre, estado);
Submenu(idSubmenu, nombre, idMenu, estado);

Por lo que usuario tendria un campo mas llamado idMenu;

Pero esto solo me funciona para que todos los usuario que pertenecen a una area tengan los mismo permisos.
  #8 (permalink)  
Antiguo 23/03/2015, 17:18
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Menu de sistema en base de datos

creo que todos tus usuarios deberia de tener un perfil que no?? y para eso son las demas tablas que te mencionaron:

Menu(idMenu, idPadre, idPerfil, idRol, menu_titulo, rutaScript)
Perfil(idPerfil, descripcio, idRol)
Rol(idRol, descripcion, idPerfil)
Usuario(idUsuario, idPerfil, clave, username, nombre, apellido, ...)

con esas tablas puedes sacar el esquema que mencionas solo es cuestion que le pienses un poquito ;)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #9 (permalink)  
Antiguo 25/03/2015, 23:12
 
Fecha de Ingreso: diciembre-2014
Ubicación: Lima
Mensajes: 68
Antigüedad: 9 años, 11 meses
Puntos: 0
Pregunta Respuesta: Menu de sistema en base de datos

Cita:
Iniciado por Libras Ver Mensaje
creo que todos tus usuarios deberia de tener un perfil que no?? y para eso son las demas tablas que te mencionaron:

Menu(idMenu, idPadre, idPerfil, idRol, menu_titulo, rutaScript)
Perfil(idPerfil, descripcio, idRol)
Rol(idRol, descripcion, idPerfil)
Usuario(idUsuario, idPerfil, clave, username, nombre, apellido, ...)

con esas tablas puedes sacar el esquema que mencionas solo es cuestion que le pienses un poquito ;)
Hola, anoche estuve intentando darle forma, pero hay algo que me confunde,
hasta aqui relacione las tablas, no tenia pensado usar rol, solo perfil, pero la puse aun asi:


Ahora hize una consulta
y mostro esto


La ultima columna son los sumenus de delos mens, tengo 10 menus y 30 submenus.

Yo lo veo que al final solo el administrador puede ver todo, no las demas areas

Alguien tiene una observacion, la idea seria darle al usuario de almacen, permisos a su area, puede ser todos los de almacen o solo consultar, lei lineas arriba que eso mejor es de la bd, pero aparte quiero que desde el sistema bloquear a algunas paginas a ciertos usarios, mi sistema esta en java, para el caso es lo mismo que php.

Etiquetas: campos, sistema, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:37.