Problema de redirección del componente de autenticación de CakePHP

Tengo problemas para que el componente Auth realice los redireccionamientos que quiero en una aplicación CakePHP 1.2.6.

Tengo un formulario de inicio de sesión que aparece en todas las páginas y quiero mantener al usuario en la página en la que inicia sesión. Por ejemplo, si está viendo el perfil de otro usuario, quiero mantenerlo allí después de iniciar sesión, no redirigirlo al$this->Auth->loginRedirect acción. Además, otra cosa acerca de mi aplicación es que no tengo páginas de "acceso autenticado solamente", cada página es accesible para todos, pero si está conectado obtiene funciones adicionales.

Lo que entendí al leer eldocumentación es que necesito configurarautoRedirect a falso para obtener el código en la función login () que se ejecutará:

class UsersController extends AppController {    
    var $name = 'Users';
    var $helpers = array('Html', 'Form','Text');

    function beforeFilter() {
        $this->Auth->autoRedirect = false;
    }

    function login() {
        $this->redirect($this->referer());
    }

    function logout() {
        $this->redirect($this->Auth->logout());
    }

    /* [...] */
}

Esto actualmente rompe mi autenticación. He notado (de los registros) que si dejo la redirección en la función de inicio de sesión y configuroautoRedirect a falso, el campo de contraseña en$this->data en ellogin() La función aparece como vacía.

A continuación, publiqué el contenido de AppController relacionado con el componente Auth:

public function beforeFilter() {

    $this->Auth->fields = array(
        'username' => 'email',             
        'password' => 'password'            
    );

    $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');     
    $this->Auth->loginRedirect = array('controller' => 'usercars', 'action' => 'homepage');

    $this->allowAccess();

    // build wishlist if the user is logged in
    if ($currentUser = $this->Auth->user()) {
        $wishlists = $this->buildWishlist($currentUser);
        $this->set('wishlists', $wishlists);
    }

}

private function allowAccess() {
      if(in_array($this->name, /* all my controller names */)) {
          $this->Auth->allow('*');
      }
}

Parece que no puedo entender lo que estoy haciendo mal.

Respuestas a la pregunta(2)

Su respuesta a la pregunta