Problema de redirecionamento do componente de autenticação do CakePHP

Estou tendo problemas para obter o componente Auth para fazer os redirecionamentos que desejo em um aplicativo CakePHP 1.2.6.

Eu tenho um formulário de login que aparece em todas as páginas e desejo manter o usuário na página em que ele faz logon. Por exemplo, se ele estiver visualizando o perfil de outro usuário, desejo mantê-lo lá após o login, não redirecioná-lo para o diretório$this->Auth->loginRedirect açao. Além disso, outra coisa sobre o meu aplicativo é que eu não tenho páginas "somente acesso autenticado", todas as páginas são acessíveis a todos, mas se você estiver conectado, obterá recursos adicionais.

O que eu entendi ao ler odocumentação é que eu preciso definirautoRedirect para false para obter o código na função login () a ser executada:

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());
    }

    /* [...] */
}

No momento, isso interrompe minha autenticação. Notei (a partir dos logs) que se eu deixar o redirecionamento na função de login e definirautoRedirect para false, o campo da senha em$this->data nologin() A função aparece vazia.

Abaixo, publiquei o conteúdo do AppController relacionado ao 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 não consigo entender o que estou fazendo de errado.

questionAnswers(2)

yourAnswerToTheQuestion