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

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!

Hola!

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

¿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?

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.

Muchas gracias brygom!

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

Saludos.

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

Saludos!!