0

私はページのログインを作成しました。コントロールパネルにアクセスするためのログアウトシナリオは次のようになります。ユーザーがログインしてcpanelページにアクセスし、ログアウトする認証が完了し、セッションが設定されますが、同時にユーザーがログアウトし、[戻る] ボタンをクリックすると、コントロール パネル ページに戻ります (ユーザーがページを更新すると、すべて問題ないように見え、usr はログインにリダイレクトされて戻ります)。ボタンは彼女をcpanelにリダイレクトしません)。

問題はブラウザーのキャッシュです。php ヘッダーと html メタの両方を使用して、ページがキャッシュされないようにしましたが、成功しませんでした。これに対する解決策はありますか?

私のログアウトアクションコードは次のとおりです

public function logoutAction()
      {   
         $auth=Zend_Auth::getInstance();
      //If logged in then move to index
         if(!$auth->hasIdentity()){
           $this->_redirect('admin/account/redirect');

      }
         $auth->clearIdentity();
      $this->_redirect('admin/account/redirect');

   }   
4

4 に答える 4

1

ブラウザによって動作が異なる場合があるため、どのブラウザを使用していますか?

また、ログアウトするときに、ユーザーが ID を持っているかどうかをわざわざ確認する必要はありません。ユーザーがログインしているかどうかに関係なく、IDをクリアするだけです-コードが少ないほど良い...

私のログアウトコードは次のようになります:

    $auth = Zend_Auth::getInstance();
    $auth->clearIdentity();
    $this->_redirect('/identity/login');
于 2011-03-10T05:06:46.693 に答える
1

AJAX を使用して別の PHP ページを要求する javascript onLoad をいつでも実行できます。ユーザーがログインしている場合は、本来あるべき場所にある CPanel またはログイン ページにリダイレクトします。

JQuery の投稿は、これを非常にうまく処理します。 http://api.jquery.com/jQuery.post/

于 2011-03-09T19:39:58.467 に答える
0

これは、ログアウトアクションにあるものです

Zend_Session::destroy();
$this->_helper->redirector('index', 'index');

また、Zend_Auth ID はセッションに保存されるため、同様に破棄されます。(ナビゲーターから) 戻ると、ID がないことが検出され、ログイン画面にリダイレクトされます。

于 2011-03-09T20:40:00.817 に答える
0

私が使用する方法は、ログイン ページを新しいウィンドウ インスタンスで強制的に実行することです。ユーザーがログアウトしたら、そのウィンドウを閉じます。戻るものは何もありません。

別の方法は、セッションを使用して、ユーザーが新しいページに移動するたびに POST を実行することです。ここで戻るボタンを押すと、コンテンツを再度 POST する必要がありますが、セッションは閉じられ、リクエストは失敗します。

于 2011-03-10T05:16:33.597 に答える