Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/04/2009, 13:00
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Referencia buena sobre permisos

Como estas manejando los permisos?

Lo que hago yo es asignar permisos por grupo (rol) de usuarios, tengo una tabla para la informacion general de los grupos (nombre, titulo, etc.) y otra aparte para los permisos con la siguiente estructura:

id - varchar (30)
descripcion - text
grupos - text

En id almaceno una cadena que identifica el permiso, por modulo y requerimiento de acceso al centro de administracion, ejemplo:

Cita:
adm_xmod_galeria_catmas
adm = requiere acceso a centro de administracion
xmod = agrupar permisos en el modulo correspondiente
galeria = nombre del modulo
catmas = agregar categorias (o galerias)

xmod_galeria_fotomas
xmod = agrupar permisos por modulo
galeria = identifica el modulo
En descripcion solo creo un texto para saber la funcion de cada permiso.

Guardo cada grupo que tiene acceso al permiso entre corchetes [# de grupo], ejemplo:
[1][2][3][25], de manera que si tengo que verificar permisos directamente con MySQL puedo hacer un filtro facilmente:

SELECT id, grupos FROM permisos WHERE grupos LIKE '%[$grupo]%'

El resultado de la consulta lo cargo en $permisos, usando como indice el id de permiso.

La parte administrativa:

Para asignar permisos a cada grupo leo todos los permisos, los ordeno alfabeticamente y clasifico de acuerdo al modulo al que pertenecen, marcando la casilla como checked si el grupo tiene ya asignado ese permiso.

Para ingresar en areas que requieren permiso especifico solo se necesita verificar:
if(!isset($permisos['id_del_permiso'))
die('No tienes permiso para ingresar en esta seccion.');
__________________
- León, Guanajuato
- GV-Foto