Lo que yo quiero es crear estos permisos dinamicamente y no se como, osea que desde mi sistema pueda crear un nombre de permiso, a este permiso darle una accion(o varias, esto es tambien lo que me traba), como leer,editar,publicar,eliminar, y despues poder darle permisos a un rol, asi con esto seguir utilizando la clase pero mas dinamicamente, lo que me pone en duda tambien es como y que datos ingresar a la tabla, suponiendo que tengo una tabla permisos, con su id, nombre y valor_bit, (aca es donde me trabo) , y si fuera un valor bit como lo ingreso para que al salir este dato yo pueda saber que va a ser un leer, o editar, o pubilcar o borrar.
Lo que estoy intentando hacer es usar tres tablas, una permisos, como describi anteriormente y otra usuarios y una intermedia, usuarios - permisos para relacionar el usuario y su permiso,
el codigo que es fijo actualmente es el siguiente:
en el INDEX.PHP
Código PHP:
Ver original
<?php require_once 'permisos.php'; //We define roles $leer = permisos::LEER; $editar = $leer | permisos::EDITAR; $crear = $editar | permisos::PUBLICAR; $publicar = $crear & ~permisos::EDITAR; $todos = $crear | permisos::ELIMINAR; function checkPermisos($roles, $permisos) { foreach ($roles as $k => $v) { echo '<b>', $k, '</b><br />'; foreach ($permisos as $pk => $pv) { if ($v & $pv) echo '- puede ', $pk, '<br />'; else echo '- no puede ', $pk, '<br />'; } echo '<br />'; } } 'invitado' => $leer, 'Editor' => $editar, 'Moderador' => $crear, 'Publicador' => $publicar, 'Administrador' => $todos ); 'leer' => permisos::LEER, 'editar' => permisos::EDITAR, 'publicar' => permisos::PUBLICAR, 'eliminar' => permisos::ELIMINAR ); checkPermisos($roles, $permisos);
y la clase, PERMISOS.PHP
Código PHP:
Ver original
<?php class permisos { const LEER = 1; const EDITAR = 2; const PUBLICAR = 4; const ELIMINAR = 8; }
ATTE saludos