Permisos Cruge

Hola,

Llevo unos días leyendo sobre este modulo, me parece genial como facilita la tarea de administrar usuarios y gestionar permisos pero tengo un problema:

-Creo el rol Usuarios

-Asigno a un usuario a ese rol (prueba)

-Modifico los permisos del rol por ejemplo "marco controller_site"

-En el controlador agrego lo de

" public function filters()

{

  return array(array('CrugeAccessControlFilter'));

}

"

-Me logeo con ese usuario para probarlo

-Accedo a ese controlador (por ejemplo …/site/contact)

El resultado es que me muestra la vista y añade

"

Permisos Requeridos Por El Usuario:ID=3, NAME=prueba

action_site_contact (operacion)

"

Imagino que debo cambiar algun parametro para que en lugar de mostrar ese mensaje haga su trabajo pero no encuentro en la documentación que he de cambiar.

Gracias.

Un saludo.

SOLUCION:

Para el que le ocurra lo mismo, en ese apartado del main.php (protected/config/main.php) hay 3 opciones:

‘debug’=>true,

‘rbacSetupEnabled’=>true, //muestra el mensaje para conocer como se asignan los permisos pero no hace nada mas

‘allowUserAlways’=>false, //en true evita que se bloquee el acceso, con lo que se puede acceder a secciones sin permiso, en false lanza el 401 bloqueando el acceso a donde no debe acceder quien no tiene el permiso adecuado.

Aupa Enekoos

Hago un corta y pega de parte de la documentación de cruge donde se explica el porqué

Desplegando una lista de permisos requeridos al pie de tu página

[font=sans-serif][size=2]Aunque allowUserAlways tenga valor TRUE (el cual hara que cruge siempre de paso con checkAccess) siempre podrás conocer que permisos "fallaron" (permisos que se requieren para que el usuario pueda usar una parte del sistema), puedes agregar a tu layout principal una llamada a displayErrorConsole, asi:[/size][/font]

<?php echo Yii::app()->user->ui->displayErrorConsole(); ?>[font=sans-serif][size=2]¿ y esto para qué sirve ?[/size][/font]

[font=sans-serif][size=2]Sirve cuando estas diseñando los permisos de tus usuarios. Pones allowUserAlways en true, luego vas haciendo pasar al usuario con el rol a programar por todo el sistema requerido e irás viendo al pie de la página la lista de permisos que se han requerido. En un browser paralelo abres el administrador de cruge con tu superusuario y vas aprobando los permisos que se requieran.[/size][/font]

[font=sans-serif][size=2]Es una herramienta de programación que no estará disponible cuando rbacSetupEnabled sea false, pero no tienes de que preocuparte, cuando este sea el caso simplemente no imprimira nada, por tanto puedes dejarla en tu layout con seguridad de que no va a molestar.[/size][/font]

Hola Aker, mil gracias!

Realmente leí esa parte varias veces pero supongo que la pase por alto ya que no es rbacSetupEnabled el que me daba el problema sino allowUserAways.

Para el que le ocurra lo mismo, en ese apartado del main.php (protected/config/main.php) hay 3 opciones:

‘debug’=>true,

‘rbacSetupEnabled’=>true, //muestra el mensaje para conocer como se asignan los permisos pero no hace nada mas

‘allowUserAlways’=>false, //en true evita que se bloquee el acceso, con lo que se puede acceder a secciones sin permiso, en false lanza el 401 bloqueando el acceso a donde no debe acceder quien no tiene el permiso adecuado.