KumbiaPHP beta2-dev
Framework PHP en español
Métodos públicos | Campos de datos | Métodos privados | Atributos privados
Referencia de la Clase Acl

Listas ACL (Access Control List) Más...

Métodos públicos

 add_role (AclRole $roleObject, $access_inherits='')
 Agrega un Rol a la Lista ACL.
 add_inherit ($role, $role_to_inherit)
 Hace que un rol herede los accesos de otro rol.
 is_role ($role_name)
 Verifica si un rol existe en la lista o no.
 is_resource ($resource_name)
 Verifica si un resource existe en la lista o no.
 add_resource (AclResource $resource)
 Agrega un resource a la Lista ACL.
 add_resource_access ($resource, $access_list)
 Agrega accesos a un Resource.
 drop_resource_access ($resource, $access_list)
 Elimina un acceso del resorce.
 allow ($role, $resource, $access)
 Agrega un acceso de la lista de resources a un rol.
 deny ($role, $resource, $access)
 Denegar un acceso de la lista de resources a un rol.
 is_allowed ($role, $resource, $access_list)
 Devuelve true si un $role, tiene acceso en un resource.

Campos de datos

 $access = array()

Métodos privados

 rebuild_access_list ()
 Reconstruye la lista de accesos a partir de las herencias y accesos permitidos y denegados.

Atributos privados

 $roles_names = array()
 $roles = array()
 $resources = array()
 $role_inherits = array()
 $resources_names = array('*')
 $access_list = array('*' => array('*'))

Descripción detallada

Listas ACL (Access Control List)

La Lista de Control de Acceso o ACLs (del ingles, Access Control List) es un concepto de seguridad informatica usado para fomentar la separacion de privilegios. Es una forma de determinar los permisos de acceso apropiados a un determinado objeto, dependiendo de ciertos aspectos del proceso que hace el pedido.

Cada lista ACL contiene una lista de Roles, unos resources y unas acciones de acceso;

$roles = Lista de Objetos Acl_Role de Roles de la Lista $resources = Lista de Objetos Acl_Resource que van a ser controlados $access = Contiene la lista de acceso $role_inherits = Contiene la lista de roles que son heradados por otros $resource_names = Nombres de Resources $roles_names = Nombres de Resources

Ver también:
AclRole
AclResource

Definición en la línea 55 del archivo acl.php.


Documentación de las funciones miembro

add_inherit ( role,
role_to_inherit 
)

Hace que un rol herede los accesos de otro rol.

Parámetros:
string$role
string$role_to_inherit

Definición en la línea 137 del archivo acl.php.

Hace referencia a rebuild_access_list().

Referenciado por add_role().

Gráfico de llamadas para esta función:

Gráfico de llamadas a esta función:

add_resource ( AclResource resource)

Agrega un resource a la Lista ACL.

Resource_name puede ser el nombre de un objeto concreto, por ejemplo consulta, buscar, insertar, valida etc o una lista de ellos

Ej: //Agregar un resource a la lista: $acl->add_resource(new AclResource('clientes'), 'consulta');

//Agregar Varios resources a la lista: $acl->add_resource(new AclResource('clientes'), 'consulta', 'buscar', 'insertar');

Parámetros:
AclResource$resource
Devuelve:
boolean

Definición en la línea 211 del archivo acl.php.

Hace referencia a $access_list y add_resource_access().

Gráfico de llamadas para esta función:

add_resource_access ( resource,
access_list 
)

Agrega accesos a un Resource.

Parámetros:
$resource
$access_list

Definición en la línea 230 del archivo acl.php.

Hace referencia a $access_list.

Referenciado por add_resource().

Gráfico de llamadas a esta función:

add_role ( AclRole roleObject,
access_inherits = '' 
)

Agrega un Rol a la Lista ACL.

$roleObject = Objeto de la clase AclRole para agregar a la lista $access_inherits = Nombre del Role del cual hereda permisos ó array del grupo de perfiles del cual hereda permisos

Ej: $acl->add_role(new Acl_Role('administrador'), 'consultor');

Parámetros:
string$roleObject
Devuelve:
boolean

Definición en la línea 119 del archivo acl.php.

Hace referencia a add_inherit().

Gráfico de llamadas para esta función:

allow ( role,
resource,
access 
)

Agrega un acceso de la lista de resources a un rol.

Utilizar '*' como comodín

Ej: //Acceso para invitados a consultar en clientes $acl->allow('invitados', 'clientes', 'consulta');

//Acceso para invitados a consultar e insertar en clientes $acl->allow('invitados', 'clientes', array('consulta', 'insertar'));

//Acceso para cualquiera a visualizar en productos $acl->allow('*', 'productos', 'visualiza');

//Acceso para cualquiera a visualizar en cualquier resource $acl->allow('*', '*', 'visualiza');

Parámetros:
string$role
string$resource
mixed$access

Definición en la línea 298 del archivo acl.php.

Hace referencia a $access y rebuild_access_list().

Gráfico de llamadas para esta función:

deny ( role,
resource,
access 
)

Denegar un acceso de la lista de resources a un rol.

Utilizar '*' como comodín

Ej: //Denega acceso para invitados a consultar en clientes $acl->deny('invitados', 'clientes', 'consulta');

//Denega acceso para invitados a consultar e insertar en clientes $acl->deny('invitados', 'clientes', array('consulta', 'insertar'));

//Denega acceso para cualquiera a visualizar en productos $acl->deny('*', 'productos', 'visualiza');

//Denega acceso para cualquiera a visualizar en cualquier resource $acl->deny('*', '*', 'visualiza');

Parámetros:
string$role
string$resource
mixed$access

Definición en la línea 351 del archivo acl.php.

Hace referencia a $access y rebuild_access_list().

Gráfico de llamadas para esta función:

drop_resource_access ( resource,
access_list 
)

Elimina un acceso del resorce.

Parámetros:
string$resource
mixed$access_list

Definición en la línea 250 del archivo acl.php.

Hace referencia a $access, $access_list y rebuild_access_list().

Gráfico de llamadas para esta función:

is_allowed ( role,
resource,
access_list 
)

Devuelve true si un $role, tiene acceso en un resource.

//Andres tiene acceso a insertar en el resource productos $acl->is_allowed('andres', 'productos', 'insertar');

//Invitado tiene acceso a editar en cualquier resource? $acl->is_allowed('invitado', '*', 'editar');

//Invitado tiene acceso a editar en cualquier resource? $acl->is_allowed('invitado', '*', 'editar');

Parámetros:
string$role
string$resource
mixed$access
Devuelve:
boolean

Definición en la línea 399 del archivo acl.php.

Hace referencia a $access y $access_list.

is_resource ( resource_name)

Verifica si un resource existe en la lista o no.

Parámetros:
string$resource_name
Devuelve:
boolean

Definición en la línea 189 del archivo acl.php.

is_role ( role_name)

Verifica si un rol existe en la lista o no.

Parámetros:
string$role_name
Devuelve:
boolean

Definición en la línea 178 del archivo acl.php.

rebuild_access_list ( ) [private]

Reconstruye la lista de accesos a partir de las herencias y accesos permitidos y denegados.

private

Definición en la línea 436 del archivo acl.php.

Hace referencia a $access.

Referenciado por add_inherit(), allow(), deny() y drop_resource_access().

Gráfico de llamadas a esta función:


Documentación de los campos

$access = array()

Definición en la línea 83 del archivo acl.php.

Referenciado por allow(), deny(), drop_resource_access(), is_allowed() y rebuild_access_list().

$access_list = array('*' => array('*')) [private]

Definición en la línea 104 del archivo acl.php.

Referenciado por add_resource(), add_resource_access(), drop_resource_access() y is_allowed().

$resources = array() [private]

Definición en la línea 76 del archivo acl.php.

$resources_names = array('*') [private]

Definición en la línea 97 del archivo acl.php.

$role_inherits = array() [private]

Definición en la línea 90 del archivo acl.php.

$roles = array() [private]

Definición en la línea 69 del archivo acl.php.

$roles_names = array() [private]

Definición en la línea 62 del archivo acl.php.


La documentación para esta clase fue generada a partir del siguiente fichero:
 Todo Estructuras de Datos Namespaces Archivos Funciones Variables Enumeraciones