
22/06/2009, 07:41
|
 | Mod on free time | | Fecha de Ingreso: agosto-2008 Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 7 meses Puntos: 2237 | |
Respuesta: Permisos Usuarios. Yo tengo una tabla de permisos:
idpermiso varchar(30)
grppermiso text
descpermiso text (Descripcion del permiso, solo para identificarlos en el panel de control) idpermiso - modulo-seccion-accion, ejemplos: noticias-categoria-agregar, noticias-noticia-editar, noticias-comentario-agregar grppermiso - Almaceno los grupos, encerrados entre corchetes, ejemplo: [1][3][4]
Para saber los permisos de cada modulo:
SELECT idpermiso WHERE idpermiso LIKE 'noticias-%' AND grppermiso LIKE '%[$grupo]%'
Cargo los resultados en $permisos y, para saber si el usuario puede realizar o no una accion: if(in_array('noticias-noticia-agregar', $permisos))
Si el usuario es el #1 (Super admin) pongo todos los permisos activados, sin consultar la base de datos.
Para administrarlos, verifico si la cadena cargada de la base de datos no esta vacia, de ser asi, elimino el primer y ultimo caracter y despues creo una matriz:
$grupos_con_permiso = explode('][', $permisos[$indice]);
Para actualizar solo hago el proceso anterior, pero a la inversa. |