tengo el siguiente problema, tengo un codigo desde un index y una clase, en la que me permite dar permisos a usuarios deacuerdo a un rol, a dif recursos.
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