私はウェブチャットアプリケーションを持っており、私たちはjQueryを使用しています。ユーザーがアイドル状態になっていたり、15分でブラウザにヒットしなかった場合、自動的に特定のユーザーのセッションが破棄され、ログインページにリダイレクトされます。どうすればいい?ブラウザセッションを解放する方法
答えて
あなたはどの言語をサーバサイドで使用していますか?
セッションは、あなたがサーバーサイドを使用しているものは何でも言語で破壊されなければならない...
しかし、私は私にあなたのアプリケーションのための可能な流れの例をあげてみましょう。
- ユーザーがログインし、特定の有効期限とのセッション作成されるすべてで
- (20分は、PHPでのデフォルトです)、あなたのセッションデータまたは特定のフラグがまだ存在するかどうかをチェックすることができます要求
- の場合ログインページにリダイレクトしない
以下の回答に記載されているとおり、クッキーやセッションのクライアントサイドを破棄することはできますが、私はそれに頼ることはありません。セッションを破棄してすべてのデータをクリーンアップするには、それをサーバーに残す必要があります。とにかく、どのようなテクノロジーを使用しているかをセッションクッキーがどのように見えるかを理解する必要があります。
しかし、明らかにするために、使用されている技術についての詳細情報を提供してください。
あなたはマウスが15分
のために動かないときは、クッキーを破壊する必要がある、ログインページにリダイレクトログアウトページを指すようにAJAXを使用することができます - Javaで例えばthere is plugin
をほとんどの場合、その名前の "JSESSIONID"
あなたはクッキーがウェブサイトによって作られたものを見て、セッション情報でそれらを殺す必要があります。
サーバーはブラウザではなくセッションの有効期間を追跡する必要があります。すべてのブラウザには、セッションID(または同様のもの)を参照するCookieがあります。
はい、クッキー内のセッションIDまたはクッキーを破棄した場合、ユーザーは次にサーバーに接続したときにログオフするように見えます。ただし、セッション管理のブラウザによっては、一貫性のない結果を得るための優れた方法です。
セッションはサーバー上に存在し、クライアントはそのセッションのみを参照します。信頼できるようにサーバー上で管理する必要があります。たとえば、セッション内の「lastContactTimestamp」のタイムスタンプを保存します。クライアントが要求を出すと、現在のタイムスタンプがlastContactTimestampの15分を超えていないことを確認します。そうであれば、クライアントに再ログインするようにリダイレクトします。そうでない場合は、「lastContactTimestamp」を現在のタイムスタンプに更新してから、クライアントの要求に対応します。
メタリフレッシュリダイレクトを使用すると、900秒でブラウザがsomelogOutUrlに自動的にリダイレクトされます。これはあなたがその時にページをリフレッシュすることを前提としています。あなたのアプリケーションが主に新しいコンテンツのためにajax呼び出しを使用していて、完全なページリフレッシュがめったにない場合、別のオプションが必要になります。
<meta http-equiv="refresh" content="900;url=somelogOutUrl">
- 1. JSONConnectionオブジェクトを解放する方法
- 2. webdriverIOで鍵を解放する方法
- 3. ファイルストリームリソースを解放する方法
- 4. httpclient4.5.4でPoolingHttpClientConnectionManagerを解放する方法
- 5. UINavigationController全体を解放する方法
- 6. MPMoviePlayerControllerプリロードメモリを解放する方法
- 7. Xamarin GPSサービスを解放する方法
- 8. asprintf():ポインタを解放する方法は?
- 9. ブロックを解放する方法
- 10. XMLHttpRequestオブジェクトを解放する方法と、ActiveXObject( "Microsoft.XMLHTTP")オブジェクトを解放する方法はありますか?
- 11. NSArrayを解放するとNSArrayを解放する
- 12. 保持されているプロパティを解放する方法
- 13. プロセスのすべてのリソースを解放する方法は?
- 14. これはメモリを解放する良い方法ですか?
- 15. swift:ARC:UIImageへのすべての参照を解放する方法
- 16. データベースを使用してWPFを解放する方法
- 17. コピーコンストラクタを定義してポインタを解放する方法
- 18. JNI ReferenceTableオーバーフロー:Stringを含むObjectArrayを解放する方法
- 19. グループボックスをクリアした後にメモリを解放する方法#
- 20. 関連レコードを解放してYii1のメモリを解放する
- 21. オブジェクトを解放してデリゲート関数を呼び出して解放する方法
- 22. ループ内のメモリを「解放する」方法は?
- 23. ec2で一時メモリを解放する方法
- 24. iOSからUnity Memoryを解放する方法
- 25. javascriptでクロージャのメモリを解放する方法は?
- 26. サーバ側でLISTEN状態からポートを解放する方法
- 27. タイマー(timer_list)を完全に解放する方法は?
- 28. UIImageのアニメーション化からメモリを解放する方法
- 29. オブジェクトを配列から解放する方法は?
- 30. このビットのコードでTOleStreamを解放する方法
私はそのような機能のためにjavascriptに依存しません...私は彼がそれを求めていることを知っているが、それは推奨していない –