2010-11-21 20 views
0

私はzend auth clear identity関数をajaxで呼び出し、ajaxがtrueを返した場合(つまり、アイデンティティがクリアされた場合)、単にlocation.reload()zend authでログアウトスクリプトを使用した場合のサイトキャッシュの問題

と何が起こる通常のページには、以下を持っていることである。その後、

if ($this->auth->hasIdentity()) { 

    echo "Welcome"; 

} 

if (!$this->auth->hasIdentity()) { 

    echo "some login form"; 

} 

が、ページが、私は「にもかかわらず....ブラウザによってキャッシュされているので、ログアウトスクリプトをajax(アイデンティティを消去する)で呼び出してページをリロードすると、ページは変更されていないと考えられ、ログインではなくウェルカム画面を含むキャッシュが表示されるため、ウェルカム画面が表示されますフォームがリロードされたら......

キャッシュを手動で消去するか、またはjqueryを使用して何らかのソートを行うと、リロード時にキャッシュがロードされません。

答えて

0

私は間違っているかもしれませんが、それは一般的にキャッシングの問題ではありませんか?ブラウザにその特定のページをキャッシュしないように指示し、問題を解決する必要があります。

0

ログアウト機能をAjaxにしないことをお勧めします。このアクションは、これを行う必要があります/認証/ログアウト/

::ちょうどそれのように定期的にリンクさせる

public function logoutAction() { 
     $auth = Zend_Auth::getInstance(); 
     $auth->clearIdentity(); 
     $this->_redirect('/authentication/login'); 
} 

とにかく、私のために動作すること。

これは理想的な答えではないかもしれないと私は理解していますが、私はまだログアウトリンクをajaxにする必要があります。

関連する問題