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:
{{cleanupbox
+
[[Categoría:Tutoriales KumbiaPHP]]
|texto ='''Este ejemplo es funcional para la [[KumbiaPHP_Framework_Versión_1.0_Beta2| Versión Beta2]]'''
 
}}
 
  
 
=== 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á ubicada en el directorio: '''proyecto/app/libs/my_acl.php'''
+
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á de alumno ya que le estamos dando todos los privilegios, solo lo hacemos heredar para que se vea que existe dicha posibilidad).
+
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 '''alumno''' se le ha asignado el template "alumno" y al rol '''administrador''' se le ha asignado el template "admin"
+
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 '''AppController''' para controlar los accesos en toda la aplicación, ya que todos los controladores heredan de dicha 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 al contenido de la url si no tiene permisos
+
             //no dejamos que entre a la direccion
 
             View::select(NULL,'no_permiso');
 
             View::select(NULL,'no_permiso');
            return false;
 
 
         }
 
         }
 
     }
 
     }
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 en PHP :-)
+
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)
 
[[Categoría:Tutoriales KumbiaPHP]]
 
[[Categoría:Tutoriales KumbiaPHP Beta2]]
 

Ten en cuenta que todas las contribuciones a KumbiaPHP Framework Wiki pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase Proyecto:Derechos de autor para más detalles). ¡No uses textos con copyright sin permiso!

Para editar esta página, responde la pregunta que aparece abajo (más información):

Cancelar Ayuda de edición (se abre en una ventana nueva)

Plantilla usada en esta página: