2009-07-27 10 views
2

私はウェブチャットアプリケーションを持っており、私たちはjQueryを使用しています。ユーザーがアイドル状態になっていたり、15分でブラウザにヒットしなかった場合、自動的に特定のユーザーのセッションが破棄され、ログインページにリダイレクトされます。どうすればいい?ブラウザセッションを解放する方法

答えて

2

あなたはどの言語をサーバサイドで使用していますか?

セッションは、あなたがサーバーサイドを使用しているものは何でも言語で破壊されなければならない...

しかし、私は私にあなたのアプリケーションのための可能な流れの例をあげてみましょう。

  • ユーザーがログインし、特定の有効期限とのセッション作成されるすべてで
  • (20分は、PHPでのデフォルトです)、あなたのセッションデータまたは特定のフラグがまだ存在するかどうかをチェックすることができます要求
  • の場合ログインページにリダイレクトしない

以下の回答に記載されているとおり、クッキーやセッションのクライアントサイドを破棄することはできますが、私はそれに頼ることはありません。セッションを破棄してすべてのデータをクリーンアップするには、それをサーバーに残す必要があります。とにかく、どのようなテクノロジーを使用しているかをセッションクッキーがどのように見えるかを理解する必要があります。

しかし、明らかにするために、使用されている技術についての詳細情報を提供してください。

0

あなたはマウスが15分

+0

私はそのような機能のためにjavascriptに依存しません...私は彼がそれを求めていることを知っているが、それは推奨していない –

1

のために動かないときは、クッキーを破壊する必要がある、ログインページにリダイレクトログアウトページを指すようにAJAXを使用することができます - Javaで例えばthere is plugin

をほとんどの場合、その名前の "JSESSIONID"

あなたはクッキーがウェブサイトによって作られたものを見て、セッション情報でそれらを殺す必要があります。

0

サーバーはブラウザではなくセッションの有効期間を追跡する必要があります。すべてのブラウザには、セッションID(または同様のもの)を参照するCookieがあります。

はい、クッキー内のセッションIDまたはクッキーを破棄した場合、ユーザーは次にサーバーに接続したときにログオフするように見えます。ただし、セッション管理のブラウザによっては、一貫性のない結果を得るための優れた方法です。

セッションはサーバー上に存在し、クライアントはそのセッションのみを参照します。信頼できるようにサーバー上で管理する必要があります。たとえば、セッション内の「lastContactTimestamp」のタイムスタンプを保存します。クライアントが要求を出すと、現在のタイムスタンプがlastContactTimestampの15分を超えていないことを確認します。そうであれば、クライアントに再ログインするようにリダイレクトします。そうでない場合は、「lastContactTimestamp」を現在のタイムスタンプに更新してから、クライアントの要求に対応します。

0

メタリフレッシュリダイレクトを使用すると、900秒でブラウザがsomelogOutUrlに自動的にリダイレクトされます。これはあなたがその時にページをリフレッシュすることを前提としています。あなたのアプリケーションが主に新しいコンテンツのためにajax呼び出しを使用していて、完全なページリフレッシュがめったにない場合、別のオプションが必要になります。

<meta http-equiv="refresh" content="900;url=somelogOutUrl"> 
関連する問題