Problebemas con CWebUser::login

Hola a todos,

MI función para realizar el inicio de sesion es:




public function authenticate($attribute,$params)

	{

		if(!$this->hasErrors())  // we only want to authenticate when no input errors

		{

			$identity=new UserIdentity($this->email,md5($this->password));

			$identity->authenticate();

			switch($identity->errorCode)

			{

				case UserIdentity::ERROR_NONE:					

					$duration=$this->rememberMe ? 3600*24*30 : 0; // 30 days

					Yii::app()->user->login($identity,$duration);

					

					break;

				case UserIdentity::ERROR_USERNAME_INVALID:

					$this->addError('email','Email no válido.');

					break;

				default: // UserIdentity::ERROR_PASSWORD_INVALID

					$this->addError('password','Contraseña incorrecta.');

					break;

			}

		}

	}



El caso es que si uso un valor para $duration mayor que 0 todo funciona correctamente, pero si le indico como valor 0, no inicia la sessión.

He comprobado la configuración de las sessiones en php y no noto nada raró. ¿Alguien sabe de que se puede tratar?