リダイレクトループでスタックしたCakePHPアプリケーションをトラブルシューティングするにはどうすればよいですか?

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

  •  03-07-2019
  •  | 
  •  

質問

リダイレクトループで立ち往生しているCakePHPサイトがあります。リダイレクト<!> ampを実行するコードをすべて削除しました。 AuthオブジェクトでautoRedirectをオフにしました。

これは、サイトからログアウトしたときに発生し、すべてのCookieを削除し、ホームページをロードしようとした後も持続します。インデックスアクションは$this->Auth->allowにあります。

すべきではありません。/users/loginにリダイレクトされ続け、ループがリダイレクトされます。ログインアクションも許可リストにあります

これを引き起こす可能性のあるアイデアはありますか?

役に立ちましたか?

解決

<cake>/app/app_controllerには、 Auth コンポーネントのすべての動作を備えたbeforeFilter()メソッドが必要です。これらの動作の1つは、ユーザーがログインしていないときに送信する場所です。

次のようなものを探します:

// 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

他のヒント

オブジェクトの代わりにコンポーネントを拡張するカスタムコンポーネントを追加した場合、これはCakePHP 1.3でも発生します。

ちょっと、データベース接続が間違っていると、アプリケーションはmysqlへの接続を試行し、ループします。 そのため、データベースの設定が正しい場合は常に見てください。

さようなら。

まったく同じ問題があり、mySqlサービスを再起動するとリダイレクトが停止しました。これをチェックするもののリストに追加します。

まあ、私がアクセスしようとしていた私の場合、これが起こる理由はいくつかあるようです

cakeapplication / users / add

そして行方不明になった

'add'=>'*',

usersController.phpの権限配列内

最近この問題が発生しましたが、理由はわかりませんが、(AppController beforeFilter()メソッドで)変更すると修正されました:

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

to

$this->Auth->allow();

もちろん、その後のコントローラーでは、適切なアクションを拒否します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top