Buen día.
Tengo una duda y espero me den una luz.
En mi sistema, tengo varias opciones de menú a la que algunos no pueden ingresar, (Aprobar Ordenes de Compra por ejemplo) lo que hago es que al dar clic a esa opción se valla al php en cuestión y evalué si el usuario tiene privilegio de
Aprobar Ordenes de Compra si tiene lo deja pasar y si no lo manda a una pagina de error y lo regresa a donde estaba antes de haber dado clic al enlace, hasta ahí todo bien, funciona y todo.
La cosa es que quiero implementar otro tipo de "seguridad" o mejor dicho otro tipo de método, quiero ocultar las opciones a las que no tenga permiso el usuario, por lo que se me ocurrió hacer un query donde consulto todos los privilegios por el usuario de la sesión
Código PHP:
Ver original$id = $_SESSION['iduser'];
$privilegios = $mysqli->query("SELECT accion,privilegio FROM privilegio WHERE usuario='$id' ") or
trigger_error($mysqli->error); while($row = $privilegios->fetch_array(MYSQLI_ASSOC)){
$axx = $row['accion'];
$pxx = $row['privilegio'];
$pasox = array($axx => $pxx); // foreach($pasox as $acci=>$privi)
// {
// echo "Accion " . $acci . " Con Privilegio " . $privi;
// echo "<br>";
// }
// var_dump($pasox);
}
* Esta porcion de codigo la quiero incluir en el menu para evitar ponerla en todos lados.
Pero haciendo pruebas, tengo el problema que no me logra sacar la info que necesito si no estoy dentro del while del result
Si habo el
var_dump($pasox) dentro del while funciona y muestra todo el array ($pasox) pero si lo hago fuera solo muestra la ultima fila y ojo se que eso es normal pero lo que quiero saber es si puedo evitar eso, por eso es el tema
Incluso si quiero hacer un (if) fuera del while sucede lo mismo, obviamente cuando imprimo una tabla de datos lo hago dentro del while pero con esto no puedo hacerlo puesto que quiero tratar el resultado en otros archivos php, incluso pensé en meter el resultado en una variable de sesión pero no me sale.
Luego buscar en el array para ver si el fulano tiene o no "X" privilegio y por medio de CSS ocultarle algunas cosas
Código PHP:
Ver originalif ($axx = 21 ) {
echo "Existe 1";
}
else{
echo "No Existe 1";
}
echo "Existe 2";
}
else{
echo "No Existe 2";
}
Tienen alguna idea de que podría hacer para sacar un array o una variable que tenga todos los privilegios de un usuario y usarlo donde sea y cuando sea?
Se que hay varios modelos de gestión de permisos por ahí pero yo necesito algo que se adecue a lo que ya tengo