[Solucionado] Ayuda: Login Automático Al Abrir La Aplicación


(Miguel Schpeir) #1

Gente, necesito que cuando cualquier usuario (suponiendo que no existe una sesión abierta) ingresa a mi aplicación poniendo la URL, solo pueda ver el formulario de login. Si intenta ingresar una URL del tipo: ejemplo.com/index.php?r=modelo que lo redireccione al login o dé un error 403.

Creo que había un post sobre esto pero no puedo encontrarlo.

¿Cómo puedo hacer esto de manera sencilla?

Saludos!


(Luciano Baraglia) #2

Hola!

Algo así te sirve? http://www.yiiframework.com/wiki/169/configuring-controller-access-rules-to-default-deny/


(Miguel Schpeir) #3

¿En conclusión tengo que:

  1. Crear class MyController extends CController {…}

  2. Hacer que TODOS (excepto SiteController) mis controladores hereden de MyController ?

Si es así, cuando creo lo que llamé ‘SecurityController’ y (usando el demo del blog) hago:


class PostController extends SecurityController {...}

me da:


Error 500


include(SecurityController.php): failed to open stream: No such file or directory

Tengo importados los modelos y componentes en el main.php. Qué puede estar pasando?


(Brygom) #4

Para que por default te redirija a la página de autenticación al abrir la aplicación deberias colocar el defaultController en la configuración de la aplicación.


'defaultController' => 'site/login

Luego para que cada vista requiera autenticación, revisa las reglas de acceso del controlador de la vista que necesitas autenticación.




public function accessRules(){

return array(

array('allow', //permitir a usuarios autenticados

'actions'=>array('vista1','vista2',),

'users'=>array('@'),

),);

}



Espero que te ayude en algo.


(Miguel Schpeir) #5

Muchas gracias brygom!

No pude filtrar las reglas en SiteController (about, contact) pero por el momento no lo necesito.

Saludos.


(Brygom) #6

En hora buena, me alegra que haya sido de ayuda…

Saludos!!