2017-11-28 4 views
0

まあ、私はmysqlとjavaを学んでいます。ログインアプリ、Server - client MySQLをやろうとしています。1 user session java appとmysql

問題は、同じユーザーが1時間以上で1つのPCにログインできることです。私は、彼が他のPCにログインすることができますログアウトする場合、ユーザーが時間に1つのPCに記録されるようにしたいです。

私はDB内のテーブルの中にステータスカラムを置くことを考えましたが、サーバへの接続が失われた場合、ユーザのステータスを変更する方法はありません。

これを解決するにはどうすればよいでしょうか。私がはっきりと説明したかったと思う

+0

どこのサーバからどのサーバまでの接続ですか?クライアントブラウザはアプリケーションサーバーへの接続を失いますか? – deFreitas

+0

mysqlサーバから、javaアプリケーション – Palomino9r

+0

を保存しないで、最後に成功したログインのステータスとタイムスタンプがshahartの回答として機能するかもしれません。アプリケーションとデータベースとの接続が失われた場合、memcache、redis、Cassandraなどの分散ストレージを使用してログインセッションを保存することができます – deFreitas

答えて

0

このステータスにタイムスタンプを追加し、すべてのユーザーの操作でタイムスタンプを更新します。タイムアウト(接続の損失をシミュレートする)またはセッションログアウトが発生した場合は、ステータスを「ログインしていません」に変更してください。

+0

回答していただきありがとうございます。あなたの解決策は私がそれを得る場合、時間カウンターを追加しています。 – Palomino9r

+0

はい、ステータスの代わりに、発信元IP – ShaharT

関連する問題