Foros del Web » Programando para Internet » PHP »

Sistema de privilegios para apliacion

Estas en el tema de Sistema de privilegios para apliacion en el foro de PHP en Foros del Web. Hola! Ando en busca de opiniones para realizar un sistema de privilegios para una aplicación en PHP. La aplicación sera utilizada por múltiples usuarios y ...
  #1 (permalink)  
Antiguo 01/05/2009, 23:41
Avatar de jeybi  
Fecha de Ingreso: julio-2008
Ubicación: Mexico
Mensajes: 130
Antigüedad: 15 años, 9 meses
Puntos: 10
Sistema de privilegios para apliacion

Hola!

Ando en busca de opiniones para realizar un sistema de privilegios para una aplicación en PHP. La aplicación sera utilizada por múltiples usuarios y por ello necesito una forma de restringir el acceso a aquellos con menor nivel de privilegios.

La aplicación esta basada en módulos, por esa razón creo que lo mas conveniente seria definir los privilegios de cierta manera:

Modulo1:
accion1:1
accion2:0
accion3:1

Modulo2:
accion1:0
accion2:0
accion3:1

El problema no esta en como manejar el sistema, sino mas bien en como representarlo. Por ejemplo una manera que se me ocurrió fue esta:
"mod1,1000110,mod2,0111011"


La serie de unos y ceros representarían las acciones en un orden especifico (el cual tendría que saber). Sin embargo se que existen mejores formas de hacer esto, cabe aclarar que los privilegios se deben guardar en un campo (al menos eso creo, talves se necesite una tabla aparte) "privilegios" de una BD, junto con id de usuario. ¿ Alguien tiene alguna idea ?.

Como dato extra, una vez vi en una aplicación que para poner los privilegios a los usuarios usaban un numero generado desde una forma HTML, te ponían X numero de checkboxes representando los privilegios a activar para el usuario, al enviar la forma te devolvía un numero como "1837294032028", ese numero de alguna manera representaba los privilegios para la configuración dada, aunque la verdad no tengo la mas mínima idea de como podría hacer esto.

Saludos y gracias!

Última edición por jeybi; 02/05/2009 a las 00:22
  #2 (permalink)  
Antiguo 02/05/2009, 16:20
 
Fecha de Ingreso: abril-2008
Mensajes: 435
Antigüedad: 16 años
Puntos: 10
Respuesta: Sistema de privilegios para apliacion

lo de los privilegios se hace o asi lo hago yo, con tres tablas en la base de datos. una tabla para los usuarios con su id, otra tabla para modulos con su id y otra tabla de permisos que simplemente une el id del usuario y el id del modulo tipo

usuario modulo
1 1
1 5
2 2

entonces con esa estructura se ve claramente que el usuario 1 tiene permisos para los modulos 1 y 5 y el usuario 2 para el modulo 2.

saludos
  #3 (permalink)  
Antiguo 02/05/2009, 21:50
Avatar de jeybi  
Fecha de Ingreso: julio-2008
Ubicación: Mexico
Mensajes: 130
Antigüedad: 15 años, 9 meses
Puntos: 10
Respuesta: Sistema de privilegios para apliacion

Gracias Adell, he implementado un sistema parecido al que comentas. Buscando en google más profundamente encontré varios artículos de estos ACL (Acces Control Lists) que precisamente se crea para aplicaciones como la que estoy desarrollando. Use 4 tablas para esto:

roles - ej: 'Administrador', 'Cajero'
permisos - ej: 'Editar producto', 'Eliminar pedido'
roles_permisos - Aquí los roles con los permisos asociados ej: Administrador - Editar Producto
usuarios_permisos - Esto me ayuda en caso de que necesite colocar permisos individuales sin tener que para ello editar/crear un nuevo rol.

Se agradece tu ayuda, saludos!
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 16:21.