KumbiaPHP beta2-dev
Framework PHP en español
|
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('*')) |
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
add_inherit | ( | $ | role, |
$ | role_to_inherit | ||
) |
Hace que un rol herede los accesos de otro rol.
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().
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');
AclResource | $resource |
Definición en la línea 211 del archivo acl.php.
Hace referencia a $access_list y add_resource_access().
add_resource_access | ( | $ | resource, |
$ | access_list | ||
) |
Agrega accesos a un Resource.
$resource | |
$access_list |
Definición en la línea 230 del archivo acl.php.
Hace referencia a $access_list.
Referenciado por add_resource().
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');
string | $roleObject |
Definición en la línea 119 del archivo acl.php.
Hace referencia a add_inherit().
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');
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().
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');
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().
drop_resource_access | ( | $ | resource, |
$ | access_list | ||
) |
Elimina un acceso del resorce.
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().
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');
string | $role | |
string | $resource | |
mixed | $access |
Definición en la línea 399 del archivo acl.php.
Hace referencia a $access y $access_list.
is_resource | ( | $ | resource_name | ) |
is_role | ( | $ | role_name | ) |
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().
$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().