Yii Framework Forum: Expulsar Un Usuario Al Vencerse La Sesión - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Expulsar Un Usuario Al Vencerse La Sesión Rate Topic: -----

#1 User is offline   Jonathan Morales Salazar 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 23
  • Joined: 08-January 14

Posted 25 April 2014 - 10:19 AM

hola, tengo un sistema y manejo la autenticación a través de srbac, ya he podido configurar los roles y las restricciones y me las arreglé para que sólo ciertos usuarios puedan ingresar al srbac. Tengo el siguiente problema, cuando un usuario intenta ingresar a una url sin estar logueado (probablemente porque se venció su sesión) sale un error de una variable no definida ¿cómo envío al usuario a iniciar sesión cuando esta se haya vencido?

por ahora hice esto en cada método:

if (!isset(Yii::app()->user->username)) {
   $this->redirect(array('site/index'));
}


¿hay alguna forma más óptima? intenté con accesRules pero nada

public function accessRules()
{
   return array(
      array(
         'allow', // allow authenticated user to perform 'create' and 'update' actions
         'actions'=>array('seguimiento','crearv'),
         'users'=>array('@'),
      ),
   );
}

0

#2 User is offline   Daniel Galvan 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 83
  • Joined: 04-March 12
  • Location:Mexico

Posted 25 April 2014 - 02:05 PM

View PostJonathan Morales Salazar, on 25 April 2014 - 10:19 AM, said:

hola, tengo un sistema y manejo la autenticación a través de srbac, ya he podido configurar los roles y las restricciones y me las arreglé para que sólo ciertos usuarios puedan ingresar al srbac. Tengo el siguiente problema, cuando un usuario intenta ingresar a una url sin estar logueado (probablemente porque se venció su sesión) sale un error de una variable no definida ¿cómo envío al usuario a iniciar sesión cuando esta se haya vencido?

por ahora hice esto en cada método:

if (!isset(Yii::app()->user->username)) {
   $this->redirect(array('site/index'));
}


¿hay alguna forma más óptima? intenté con accesRules pero nada

public function accessRules()
{
   return array(
      array(
         'allow', // allow authenticated user to perform 'create' and 'update' actions
         'actions'=>array('seguimiento','crearv'),
         'users'=>array('@'),
      ),
   );
}




Vamos si esto te sirve:

class Controller extends CController {
	protected function beforeAction($action) {
		Yii::log(__METHOD__ . ' isGuest: ' . (Yii::app()->getUser()->isGuest ? 'y' : 'n'));

		if (Yii::app()->getUser()->isGuest) {
			// site es la pagina principal, no se ha logeado.
                    if ($this->getId() !== 'site') {
                        $this->redirect($this->createUrl('/site/login'));
                    }
                }
	}
}

class EsteEsTuController extends Controller {
	// no necesitas incluir la validacion en cada metodo
}

If my post was useful, Would you might give a vote +? / Si mi mensaje fue útil, ¿Le podrías dar un voto +?

Thanks / Gracias
0

#3 User is offline   evilexus 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 11
  • Joined: 09-April 13

Posted 25 April 2014 - 08:53 PM

No se tu amigo pero para administrar usuarios recomiendo ampliamente el modulo CRUGE es muy bueno y facil de implementar.

http://www.yiiframew...xtension/cruge/
0

#4 User is offline   Jonathan Morales Salazar 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 23
  • Joined: 08-January 14

Posted 26 April 2014 - 08:40 PM

gracias por las respuestas, iré probando. Estoy usando srbac, pero hay algunas vistas que dan error.
0

#5 User is offline   Daniel Galvan 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 83
  • Joined: 04-March 12
  • Location:Mexico

Posted 28 April 2014 - 11:07 AM

View PostJonathan Morales Salazar, on 26 April 2014 - 08:40 PM, said:

gracias por las respuestas, iré probando. Estoy usando srbac, pero hay algunas vistas que dan error.



Perfecto!,

No olvides compartir tus resultados.
If my post was useful, Would you might give a vote +? / Si mi mensaje fue útil, ¿Le podrías dar un voto +?

Thanks / Gracias
0

#6 User is offline   Jonathan Morales Salazar 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 23
  • Joined: 08-January 14

Posted 05 May 2014 - 05:20 PM

aunque tengo srbac no sé por qué este problema, por ahora estoy usando un if con checkaccess al id del usuario en las vistas que molesta.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users