私は管理者/ユーザのログインにCakePHP 1.3の最新バージョンを使用しています。CakePHPセッション、最初のリフレッシュ時に表示されない
Authを使用してログインしようとすると、私はSESSION
に情報を表示していませんが、ページをもう一度更新すると、すべての情報がSessionに送信されます。
これは何故起こりますか?
コードがapp_controller.php
ファイル
function beforeFilter()
{
$this->Auth->autoRedirect = false;
$this->Auth->fields = array('username' => 'email_address', 'password' => 'password');
$this->Auth->loginAction = array('admin' => false, 'controller' => 'users', 'action' => 'login');
$this->Auth->userScope = array('User.status' => '1','User.paymentstatus' => '0');
if($this->Auth->User())
{
if($this->Session->read('Auth.User.user_type') == 3) {
$this->layout = 'admin';
$this->Auth->loginRedirect = array('controller' => 'admins', 'action' => 'welcome');
}
else
{
$this->Auth->loginRedirect = array('controller' => 'pages', 'action' => 'display', 'home');
}
}
}
function beforeRender(){
$this->set('auth', $this->Auth->user());
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); // // HTTP/1.1
header("Pragma: no-cache");
header("Expires: Mon, 17 Dec 2007 00:00:00 GMT"); // Date in the past
}
からここにある最古の応答がいただければ幸いです。
ありがとうございます!
とビューであなたがログイン成功後にリダイレクトしていることをアクセスすることができますか?同じリクエストが設定されている間はセッションデータにアクセスすることはできません( '$ _SESSION')。 – deizel
はい私は、初めてログインしたときに、ようこそページにリダイレクトしていますが、ユーザーが初めてログインしたときにリダイレクトしていないときに、再度ページをリフレッシュすると、リダイレクト先になります.. –
あなたはログイン/リダイレクトに行っているアクションを投稿することができますので、より詳しく見ることができます。 – deizel