Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Permisos de usuarios (ACL y otras yerbas)

Estas en el tema de Permisos de usuarios (ACL y otras yerbas) en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Gente, vengo con una consulta mas "teorica" que de código en si jeje. Quiero armar un sistema de permisos para los usuarios de un panel ...
  #1 (permalink)  
Antiguo 17/08/2013, 19:43
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 20 años, 1 mes
Puntos: 43
Permisos de usuarios (ACL y otras yerbas)

Gente,
vengo con una consulta mas "teorica" que de código en si jeje. Quiero armar un sistema de permisos para los usuarios de un panel de administración. Googleando he leido muchos que usan ACL de zend, o el de laravel, pero he entendido (tal vez mal seguramente) que son para crear grupos de usuarios con permisos globales, y yo ando buscando algo como que se pueda asignar permisos de este estilo:
modulo acceder (action:index) leer(action:view) modificar(action:edit) borrar(action:delete)
Es decir asignar permisos según el método del controlador. Yo lo que habia hecho hasta ahora, es recorrer los metodos de la clase y guardar en la base de datos si el usuario puede acceder a ese método.
Hay algo parecido que se use en algun framework o voy a tener que seguir usando mi forma.
Espero que se haya entendido mi duda......

Salu2
  #2 (permalink)  
Antiguo 18/08/2013, 00:31
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 5 meses
Puntos: 379
Respuesta: Permisos de usuarios (ACL y otras yerbas)

Cita:
Iniciado por destor77 Ver Mensaje
Gente,
vengo con una consulta mas "teorica" que de código en si jeje. Quiero armar un sistema de permisos para los usuarios de un panel de administración. Googleando he leido muchos que usan ACL de zend, o el de laravel, pero he entendido (tal vez mal seguramente) que son para crear grupos de usuarios con permisos globales, y yo ando buscando algo como que se pueda asignar permisos de este estilo:
modulo acceder (action:index) leer(action:view) modificar(action:edit) borrar(action:delete)
Es decir asignar permisos según el método del controlador. Yo lo que habia hecho hasta ahora, es recorrer los metodos de la clase y guardar en la base de datos si el usuario puede acceder a ese método.
Hay algo parecido que se use en algun framework o voy a tener que seguir usando mi forma.
Espero que se haya entendido mi duda......

Salu2
Según entiendo quieres un esquema de permisos el cual determine como acceden los usuario a los recursos si es así, puedes usar el ACL.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 18/08/2013, 18:43
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 20 años, 1 mes
Puntos: 43
Respuesta: Permisos de usuarios (ACL y otras yerbas)

Si pero ACL hay que setear las reglas de permisos en el código:
Código PHP:
Ver original
  1. require_once 'Zend/Acl.php';
  2. $acl = new Zend_Acl();
  3.  
  4. require_once 'Zend/Acl/Role.php';
  5. $acl->addRole(new Zend_Acl_Role('invitado'))
  6.     ->addRole(new Zend_Acl_Role('miembro'))
  7.     ->addRole(new Zend_Acl_Role('admin'));
  8.  
  9. $parents = array('invitado', 'miembro', 'admin');
  10. $acl->addRole(new Zend_Acl_Role('unUsuario'), $parents);
  11.  
  12. require_once 'Zend/Acl/Resource.php';
  13. $acl->add(new Zend_Acl_Resource('unRecurso'));
  14.  
  15. $acl->deny('invitado', 'unRecurso');
  16. $acl->allow('miembro', 'unRecurso');

O sea que si el usuario final (no yo desarrollador) quiere crear nuevos permisos, tiene que tocar el código. En cambio como yo lo vengo manejando hasta ahora, al usuario se le listan todos los métodos de las clases existentes y ahí puede crear N cantidad de permisos o grupos sin necesidad de setear nada por código
  #4 (permalink)  
Antiguo 18/08/2013, 19:08
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 11 meses
Puntos: 845
Respuesta: Permisos de usuarios (ACL y otras yerbas)

Un recurso no es mas que un string, nada te impide utilizar reflection y alguna suerte de normalización para conseguir lo que mencionas, el problema del componente es que esta lejos de ser eficiente, si tienes un sistema de permisos medianamente complejo y granular terminas utilizando Assertion lo que te lleva a replantearte el uso mismo del componente..., utilizarlo o no depende únicamente del contexto, otra opción puede ser Rbac de Zend 2 o bien el ACL de Symfony2.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)

Etiquetas: acl, controlador, framework, laravel, permisos, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:28.