Introducción a PHPLib, 2da parte - Manejo de privilegios, clase Perm
02 de Marzo de 2006
PHP
4. Manejo de privilegios, clase Perm
El manejo de privilegios depende de una sesión autentificada. Se asocia un conjunto de permisos requeridos con una página. El contenido de la página es sólo visible para usuarios con TODOS los privilegios correspondientes; el resto de los usuarios verán una página personalizada con un mensaje de error.
4.1 Variables de Perm
- classname. Nombre de la clase.
- permissions. Un hash de (nombre, bit de permiso) pares.
4.2 Métodos de Perm
check($required)
Verifica si el usuario autentificado tiene todos los privilegios que se especifican en $required. Si no, se llama al método perm_invalid().
Si uno o más de los permisos requeridos no son válidos, también se llama a perm_invalid().
have_perm($required)
Similar a check(), sólo que no detiene la ejecución si el usuarios no tiene los permisos correspondientes. Se puede usar para restringir solo ciertas partes de una página.
4.3 Ejemplo de una sub-clase de Perm
Se debe definir una sub-clase de Perm llamada Prueba_Perm, donde definimos los privilegios.
class Prueba_Perm extends Perm { # nombre de la clase var $classname = "Prueba_Perm"; # arreglo con los privilegios a ser utilizados/controlados var $permissions = array∞( "usuario" => 1, "autor" => 2, "editor" => 4, "supervisor" => 8, "admin" => 16 ); function perm_invalid($does_have, $must_have) { global∞ $perm, $auth, $sess; global∞ $_PHPLIB; # si el usuario no tiene los privilegios requeridos, # se mostrará la siguiente página include($_PHPLIB["libdir"] . "perminvalid.ihtml"); }}
4.4 Ejemplo de una página protegida
Para restringir una página se deben usar las funciones page_open() y page_close(). Se debe indicar el nombre de nuestra subclase Perm como parámetro de la función page_open(). Perm requiere de sess y auth.
<?php page_open(array∞("sess" => "Prueba_Session", "auth" => "Prueba_Auth","perm" => "Prueba_Perm")); # se llama al método check()$perm->check("admin"); # código entre estas líneas será sólo ejecutado# por usuarios con perfil "admin" page_close(); ?>
4.5 Ejemplo de una página con una funcionalidad protegida
Para proteger sólo cierta funcionalidad de una página, se puede usar el método have_perm().
<?php page_open(array∞("sess" => "Prueba_Session", "auth" => "Prueba_Auth","perm" => "Prueba_Perm")); # código para cualquier usuario autentificado if ($perm->have_perm("admin")){ # código sólo para usuarios con perfil "admin" } # código para cualquier usuario autentificado page_close(); ?>
Valora este capítulo:
Autor y licencia de 'Introducción a PHPLib, 2da parte - Manejo de privilegios, clase Perm'
|
Opiniona sobre 'Introducción a PHPLib, 2da parte - Manejo de privilegios, clase Perm' (0)
Tu nombre debe tener tres caracteres como mínimo.
Es necesario que te des de alta con una cuenta de correo válida.
Es necesario que te des de alta con una cuenta de correo válida.
El contenido del título de tu opinión debe tener tres caracteres como mínimo.
Es obligatorio que selecciones una valoración del recurso.
El contenido del comentario de tu opinión debe tener tres caracteres como mínimo.
Opina sobre este monografía |
Wikis relacionados con 'Introducción a PHPLib, 2da parte - Manejo de privilegios, clase Perm'
Cualquier aplicación web mediana o grande necesita manejar usuarios. En este artículo se mostrará el...
Más »
Este curso profundiza en la implementación de la clase CString dentro del framework MFC. Se...
Más »
En la edición anterior, se explicó las bases de Netfilter/IPTables. En esta segunda entrega, se...
Más »
Este es el Diccionario de Plantas Mágicas elaborado por nosotr@s. Esta basado en nuestra propia...
Más »
En la primera parte de este tutorial vimos como crear y configurar un cluster beowulf...
Más »
