Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/06/2010, 15:26
delta132
 
Fecha de Ingreso: abril-2006
Ubicación: Bogotá
Mensajes: 251
Antigüedad: 18 años
Puntos: 14
Duda con permisos sobre acciones en PHP

Hola a todos, estoy creando un sistema para una biblioteca y tengo una duda con los permisos para los usuarios que se crean en el sistema, tengo tres perfiles, los Administradores pueden eliminar por ejemplo libros, los demas no:

- Administradores
- Trabajadores
- Consultores

Cada permiso esta almacenado en una variable de session llamado "permiso".

Tengo un módulo donde se visualizan los libros creados, listo los libros asi:

Código:
<body>
<table border="1">
<tr>
  <td>Nombre</td>
  <td>Género</td>
  <?php 
     if( $_SESSION["permiso"] == 1 ) //Significa que es administrador muestro la opción de eliminar
      <td>Eliminar</td>   
  ?>
</tr>
<?php
$sql  = myslq_query("SELECT id_libro,nombre, genero FROM libros WHERE estado = '1' ");
while( $libro = mysql_fetch_array( $sql )) {
   ?>
    <tr>
        <td><?php echo $libro["nombre"];?></td>
        <td><?php echo $libro["genero"];?></td>
        <?php 
         if( $_SESSION["permiso"] == 1 ) //Significa que es administrador
           <td><a href ="eliminarlibro.php?id_libro=<?php echo $libro["id_libro"]">Eliminar</a></td>   
        ?>
    </tr>
   <?php
}
?>
</table>
</body>
Pero tengo una duda, esta forma es adecuada? es decir, en cada página tendría que controlar qué puede hacer cada usuario, en este caso compruebo si es administrador y muestro las opciones de eliminar, pero si yo quisiera que el usuario consultor también eliminara en este modulo de libros pero en los demás no, tendría que hacer un OR en cada IF y si quisiera en otras páginas el proceso sería muy tedioso, de que otra forma puedo manejar esto de manera más optima?

Gracias por las sugerencias que me puedan brindar.