コメントシステムの一部として他にログインしているユーザーを表示したいと思います。ユーザーを追跡するためのベストプラクティスは何ですか?例えば:
すべてのセッションを追跡してから、それらをクローズとしてマークしますか。または、ログアウト時にユーザーを削除して、アクティブなユーザーのみを追跡しますか。
ユーザーID、ログイン時間、ログアウト時間、ステータスを含むテーブルを作成する必要があると考えています。それが進むべき道ですか、それともセッションIDを追跡する別のアプローチがありますか。テーブルを使用する場合、sessionidを維持することに価値はありますか。セッションがアクティブでなくなったときに行を削除して、whenloggedoutフィールドの必要性を否定する必要があります。
ログインしているユーザーを追跡するのはとても簡単なログインがあります。ただし、ブラウザのクラッシュなどによってセッションが中断される可能性があるため、ログアウトしているユーザーを追跡するのは困難です。
セッションを破壊していない限り、ユーザーがログインしていると見なすのがベストプラクティスですか?たとえば、FBとGmailを使用すると、ほぼ無期限にログインしたままになります。または、前回のアクティビティからの時間制限が必要ですか?現場で活動するたびにこのテーブルに保存するという考えは魅力的ではありません。
今、私は次のことを考えています:
create table loggedin (userid (int), whenloggedin (datetime), whenlogged out (datetime), loggedin(tinyint))
後者は、ログアウトしたときにnullでない場合、または24時間などの長い時間制限の後、0になります。FBは、長時間ログインしたままで、チャットなどの目的でアクティビティを追跡していると思いますが、よくわかりません。閉じたセッションを削除するのではなく、テーブルを拡張することも考えていますが、それは間違いかもしれません。
このアプローチは適切であると考えられますか、それともより良い方法がありますか。これに関するアドバイスのための多くのthx。