Come posso risolvere un'applicazione CakePHP bloccata in un ciclo di reindirizzamento?

StackOverflow https://stackoverflow.com/questions/810390

  •  03-07-2019
  •  | 
  •  

Domanda

Ho un sito CakePHP bloccato in un ciclo di reindirizzamento. Ho rimosso ogni parte di codice che esegue un reindirizzamento & Amp; Ho disattivato autoRedirect sull'oggetto Auth.

Ciò si è verificato quando mi sono disconnesso dal sito e ha persistito anche dopo aver eliminato tutti i cookie e solo cercando di caricare la homepage. L'azione dell'indice è in $this->Auth->allow.

Non dovrei, continua a provare a reindirizzarmi su / utenti / login che quindi reindirizza i loop. L'azione di accesso è anche nell'elenco consentito

Qualcuno ha qualche idea di cosa potrebbe causare questo?

È stato utile?

Soluzione

Il tuo <cake>/app/app_controller dovrebbe avere un metodo beforeFilter() con tutti i comportamenti del componente Auth . Uno di questi comportamenti è dove inviare quando un utente non ha effettuato l'accesso.

cercherai qualcosa del tipo:

// If cake should redirect automatically or you will do it in the User.login()
$this->Auth->autoRedirect = true; 
// And if the autoRedirect is true, where to redirect
$this->Auth->loginRedirect = '/user/login';

G'luck

Altri suggerimenti

Ciò si verifica anche in CakePHP 1.3 se aggiungi un componente personalizzato che estende Componente invece di Oggetto .

ehi a volte, se la tua connessione db è sbagliata ,, l'applicazione tenterà di connettersi a mysql e sarà in loop. Quindi, cerca sempre se la configurazione del database è corretta.

ciao.

Ho avuto esattamente lo stesso problema e quando ho riavviato il servizio mySql il reindirizzamento si è interrotto. Quindi aggiungi questo al tuo elenco di cose da controllare.

Beh, sembra che ci siano una serie di ragioni per cui questo potrebbe accadere nel mio caso stavo cercando di accedere

cakeapplication / utenti / aggiungere

ed è venuto fuori che mi mancava

'add'=>'*',

nell'array delle autorizzazioni in usersController.php

Di recente ho avuto questo problema e non so perché, ma è stato risolto quando ho cambiato (nel mio metodo AppController beforeFilter ()):

$this->Auth->allow('*');

a

$this->Auth->allow();

Ovviamente poi nei miei controller successivi rifiuto le azioni apprendistate.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top