ログイン、ログアウトの概念を導入するしかありません。
ログインしていないのにログインしてるとシステムが勘違いしてる場合は、
ユーザーの入力によって、強制ログアウトしてもらいます。
回答者1の方法では、違う種類のブラウザを使えば簡単に多重ログインが可能ですので、だめですね。
ログイン、ログアウトの概念を導入するしかありません。
ログインしていないのにログインしてるとシステムが勘違いしてる場合は、
ユーザーの入力によって、強制ログアウトしてもらいます。
回答者1の方法では、違う種類のブラウザを使えば簡単に多重ログインが可能ですので、だめですね。
上に同じです。
自分ならば、ユーザーテーブルにloginという項目を用意しておいて、
ログインする際に、ここをチェックするようにします。
login =>empty となっていれば、IDパスワードでログインチェックし、ログインさせます。
と同時に、loginの内容をdoneに変更。
この人がログアウトする際には、再度loginの内容をemptyに変更します。
login =>done の状態で同じIDとパスワードでログインしようとする人がいたら、その人をはじきます。
こんな感じでいかが?
1IDをどのように実装するかにも依ると思いますが、例えばDBMSを使うのであれば、ユーザ情報テーブルを作成し、ログイン済みフラグのようなものを作っておき、このフラグをみてログイン済みか否かを判断するということが考えられます。
ログインした際にランダムな英数字で構成された文字列を発行し、セッションで維持する。又、同じ文字列をDB内の同ユーザーのカラムに保存しておく。
ログインが必要なページにアクセスする度にセッション内に入っている文字列とDBを確認する。両文字列が異なればログアウト。
別なユーザーが同じIDでログインした際、DBの文字列も以上のプロセスで変わるため、以前にログインしたユーザーは強制的にログアウトされる。
こんな感じでしょうか。
コメント(0件)