Ya estoy trabajando en un How To sobre ese tema que _NO_ esta documentado en el manual y es una tarea que tenemos para esta nueva version lo mas seguro es que este fin de semana suba esa informacion porq se que hay muchos que tienen la misma duda... <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->
Ya estoy trabajando en un How To sobre ese tema que _NO_ esta documentado en el manual y es una tarea que tenemos para esta nueva version lo mas seguro es que este fin de semana suba esa informacion porq se que hay muchos que tienen la misma duda... <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->
Excelente compañero <!-- s:!: --><img src="{SMILIES_PATH}/icon_exclaim.gif" alt=":!:" title="Exclamation" /><!-- s:!: --> estaremos a la espera, ya que es algo muy util... y de antemano Gracias.:! <!-- s:?: --><img src="{SMILIES_PATH}/icon_question.gif" alt=":?:" title="Question" /><!-- s:?: -->
<?php
class PacienteController extends ApplicationController {
public $acl;
public function __construct(){
$this->acl = new Acl();
//agregando el rol
$this->acl->add_role(new AclRole('invitados'));
$this->acl->add_role(new AclRole('admin'));
//agregando los recurso
$this->acl->add_resource(new AclResource('paciente'), 'agregar');
return $this->acl;
}
/*******************************************************************************************************************/
public function agregar(){
//permitiendo el acceso
$this->acl->allow('admin', 'paciente', 'agregar');
//verificando si admin tiene acceso a la accion agregar
if($this->acl->is_allowed('admin', 'paciente', 'agregar')){
print ("Permitido");
}else{
print ("No Permitido");
}
}
}
Asi de sencillo son los ACL... cualquier duda pregunten
el recurso es lo que se puede acceder, en este caso tenemos un recurso que se llama paciente, al cual cuando se crea $this->acl->add_resource(new AclResource('paciente'), 'agregar'); se le indica q habran acciones asociados a el, en este caso agregar...
para las personas que tengan problema que no se encuentra la class Acl esta debe ser cargada como un modulo, la forma de hacer esto es editando el archivo config/boot.ini y agregar... kumbia.acl de esta manera se carga el modulo y lo tenemos disponible en cualquier instancia de la aplicación... Esto para la versión 0.5
Ya que esta abierto este tema, me parecio conveniente seguir este hilo; este es el codigo que estoy usando:
public $acl;
public function __construct(){
$this->acl = new Acl();
//agregando el rol
$this->acl->add_role(new Acl_Role('admin'));
//agregando los recurso
$this->acl->add_resource(new Acl_Resource('instalaciones'), 'agregar','index');
return $this->acl;
}
public function agregar(){
//permitiendo el acceso
$this->acl->allow('admin', '*', '*');
#$this->acl->allow('admin', 'instalaciones', 'index');
//verificando si admin tiene acceso a la accion agregar
if($this->acl->is_allowed('admin', 'instalaciones', 'agregar')){
print ("Permitido para agregar");
}else{
print ("No Permitido para agregar");
}
}
El controlador se llama instalaciones, y lo que deseo hacer es que solo se pueda visualizar el formulario de carga, siempre y cuando el usuario sea administrador del sistema; en este caso estoy probando con agregar; el problema esta en que siempre me imprime el "No permitido para agregar". Tengo algo mal? Desde ya muchas gracias!
Gracias deivinsontejeda por tu pronta respuesta, esa linea que decis vos esta comentada, en realidad la deberia haber borrado para no confundir; de todos modos la borre en mi script y no funciona! Les recuerdo que estoy usando la version 0.4.7a! Saludos y gracias nuevamente!
...Les recuerdo que estoy usando la version 0.4.7a! Saludos y gracias nuevamente!
Esto tambien debias haberlo comentado el ejemplo, funciona en la 0.5 ya que en la 0.4.x nunca toque ese modulo, la invitacion nuevamente es a trabajar en la 0.5, ya tenemos una Docs para esa version que estaremos publicando dentro de poco
Hola estoy probando Kumbia 5.0 RC2 y quisiera saber como si yo tengo una aplicación donde tengo definido en mi BD un conjunto de roles y a cada rol le corresponden Acciones y permisos a determinados recursos, como puedo vincular esto con ACL pues lo que he visto en este hilo no me aclara muy bien mi duda, pues yo no quiero poner esos valores de forma estáticos, sino que a medida que voy creando los roles a estos pueda irles dando sus niveles de acceso, alguien tiene alguna aplicación de este tipo o algún ejemplo que me pueda ayudar.
Hola se de tu inconveniente por llamarlo de alguna manera yo actualmente trabajo en un esquema muy parecido se como implementarlo pero no tengo código sin embargo te puedo ayudar en ese sentido...
Puedes abrir este hilo por la lista de correo de manera que los demas usuarios se enteren y si se le presenta esta misma duda sepan por donde entrarle...
segun el ejemplo mostrado, seria necesario definir los roles en cada controlador que lo requiera???
es decir, existe una manera de definir roles de manera general para toda la aplicacion???
si claro pudieras guardar eso en una BD y asociar los roles al user y simplemente con una consulta obtienes esa información en cualquier instancia de la app
Comentarios
Excelente compañero <!-- s:!: --><img src="{SMILIES_PATH}/icon_exclaim.gif" alt=":!:" title="Exclamation" /><!-- s:!: --> estaremos a la espera, ya que es algo muy util... y de antemano Gracias.:! <!-- s:?: --><img src="{SMILIES_PATH}/icon_question.gif" alt=":?:" title="Question" /><!-- s:?: -->
¿Donde se encuentra el How to ?
Gracias
Asi de sencillo son los ACL... cualquier duda pregunten
La función 'agregar' la entiendo, pero no se a qué vien lo de 'paciente'...
Cualquier duda vuelves a preguntar..!
Gracias deivinsontejada.
kumbia.acl de esta manera se carga el modulo y lo tenemos disponible en cualquier instancia de la aplicación...
Esto para la versión 0.5
El controlador se llama instalaciones, y lo que deseo hacer es que solo se pueda visualizar el formulario de carga, siempre y cuando el usuario sea administrador del sistema; en este caso estoy probando con agregar; el problema esta en que siempre me imprime el "No permitido para agregar". Tengo algo mal? Desde ya muchas gracias!
esto trae como consecuencia que cuando vuelves a evaluar es falsa y no esta permitido el usuario admin...
saludos
Puedes abrir este hilo por la lista de correo de manera que los demas usuarios se enteren y si se le presenta esta misma duda sepan por donde entrarle...
es decir, existe una manera de definir roles de manera general para toda la aplicacion???