0

session.timeout が発生したときに警告メッセージを表示するには? 5 分後にページを期限切れにして、ログイン ページにリダイレクトしたい。リダイレクトした後、セッションの有効期限が切れたことをユーザーに示したいと思います。

4

3 に答える 3

0

非アクティブ状態が 5 分間続くとします。

function doLogout() {
    window.location.href="/logout?reason=timeout"
}

window.setTimeout(doLogout(), 300000)

必要なタイムアウトを設定してからログアウトし、何らかの形式のパラメーターをログアウトメカニズムに渡して、メッセージを表示できるようにします。

もう 1 つのオプションは、セッション cookie をポーリングすることです。アプローチは似ていますが、ログアウトを直接行う代わりに、Cookie がまだ生きているかどうかを確認し、新しいタイマーを開始するかどうかを確認します。それが機能するには、セッションの有効期限を希望する値に設定する必要があります。

補足として、アクセシビリティ上の理由から、セッションを終了する前にユーザーに警告し、セッションを更新する方法を提供する必要があります。

于 2013-08-29T11:58:01.227 に答える
0
if (session["MySessionName"] == null)
{
 .. show message
}
于 2013-08-29T11:31:19.213 に答える
0

セッションの有効期限が切れるまで、数秒でサーバーに ping を実行する必要があります。

アルゴリズム:

  1. サーバーへの正しい非同期呼び出し
  2. true/false で応答を受け取る
  3. それに応じてアラートを表示します。

    $return = array("status"=>1);
    if($_SESSION['ANY_SESSION_VAR']){
        $return = array("status"=>0);
    }
    
    die(json_encode($return);
    

    http://jsfiddle.net/2CgkV/1/

于 2013-08-29T12:01:06.950 に答える