Edición de «ACL Configurado a Traves de un Archivo ini»
De KumbiaPHP Framework Wiki
Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así efectuar la reversión.
Revisión actual | Tu texto | ||
Línea 1: | Línea 1: | ||
− | + | [[Categoría:Tutoriales KumbiaPHP]] | |
− | |||
− | |||
=== Descripción === | === Descripción === | ||
Línea 11: | Línea 9: | ||
=== Librería para manejar las listas de control de acceso === | === Librería para manejar las listas de control de acceso === | ||
− | Esta clase nos permitirá llevar un control de los distintos tipos de usuario a traves de un archivo .ini, la clase se llamará '''MyAcl''' y estará | + | Esta clase nos permitirá llevar un control de los distintos tipos de usuario a traves de un archivo .ini, la clase se llamará '''MyAcl''' y estará hubicada en el directorio: '''proyecto/app/libs/my_acl.php''' |
<source lang=php> | <source lang=php> | ||
Línea 150: | Línea 148: | ||
En el caso del rol '''[alumno]''' se han definidon definido tres recursos, '''index = *''' (significa que alumno puede acceder al controlador index, y el asterisco indica que puede acceder a todas las vistas de dicho controlador) , '''menu = *''' (puede entrar al controlador menu, siempre y cuando se acceda a alguna de las vistas indicadas [index,consultas,reportes]) , y por ultimo '''admin/usuarios''' ( puede entrar al modulo admin, controlador usuarios, acciones index y agregar ). | En el caso del rol '''[alumno]''' se han definidon definido tres recursos, '''index = *''' (significa que alumno puede acceder al controlador index, y el asterisco indica que puede acceder a todas las vistas de dicho controlador) , '''menu = *''' (puede entrar al controlador menu, siempre y cuando se acceda a alguna de las vistas indicadas [index,consultas,reportes]) , y por ultimo '''admin/usuarios''' ( puede entrar al modulo admin, controlador usuarios, acciones index y agregar ). | ||
− | El rol '''[administrador]''' no tiene ningun recurso establecido en el archivo .ini, con lo cual estamos diciendo que administrador tiene privilegios para entrar a todos los modulos, controladores y acciones del sistema ( en el ejemplo no era necesario que administrador heredará | + | El rol '''[administrador]''' no tiene ningun recurso establecido en el archivo .ini, con lo cual estamos diciendo que administrador tiene privilegios para entrar a todos los modulos, controladores y acciones del sistema ( en el ejemplo no era necesario que administrador heredará ) |
==== Definiendo los Templates ==== | ==== Definiendo los Templates ==== | ||
− | Ademas se puede definir una sección llamada '''[templates]''' en la que se establecen las plantillas a utilizar por cada rol (muy util cuando la vista cambia dependiendo del usuario), en el ejemplo al rol | + | Ademas se puede definir una sección llamada '''[templates]''' en la que se establecen las plantillas a utilizar por cada rol (muy util cuando la vista cambia dependiendo del usuario), en el ejemplo al rol alumno se le ha asignado el template "alumno" y al rol administrador se le ha asignado el template "admin" |
=== Usando la Librería === | === Usando la Librería === | ||
− | Usaremos el metodo '''initialize''' de la clase | + | Usaremos el metodo '''initialize''' de la clase AppController para controlar los accesos en todas los controladores de la aplicación, ya que todos los controladores heredan de dicha clase. |
<source lang=php> | <source lang=php> | ||
Línea 192: | Línea 190: | ||
Flash::error("No posees suficientes PRIVILEGIOS para acceder a: {$modulo}/{$controlador}/{$accion}"); | Flash::error("No posees suficientes PRIVILEGIOS para acceder a: {$modulo}/{$controlador}/{$accion}"); | ||
− | //no dejamos que entre | + | //no dejamos que entre a la direccion |
View::select(NULL,'no_permiso'); | View::select(NULL,'no_permiso'); | ||
− | |||
} | } | ||
} | } | ||
Línea 201: | Línea 198: | ||
</source> | </source> | ||
− | |||
Aquí un ejemplo de una denegación de acceso | Aquí un ejemplo de una denegación de acceso | ||
Línea 207: | Línea 203: | ||
− | Esta es una manera sencilla de trabajar con lista de acceso, manteniendo la configuración de los roles a traves de un archivo .ini sin necesidad de realizar ningun tipo de programación | + | Esta es una manera sencilla de trabajar con lista de acceso, manteniendo la configuración de los roles a traves de un archivo .ini sin necesidad de realizar ningun tipo de programación :-) |
− | |||
---- | ---- | ||
Realizado por: Manuel Aguirre (manuel_j555) | Realizado por: Manuel Aguirre (manuel_j555) | ||
− | |||
− | |||
− |