私たちのアプリケーションは、ユーザー管理のためにSymfony2.0とMongoDBとFOSUserBundleを使用しています。
クライアントは、アプリケーションで同時に異なるデバイスから同じユーザー名でログインすることを防ぎたいと考えています。
私たちのアイデアは、ログインが成功したときに、同じユーザーの他のすべてのセッションを無効化/削除することです。
問題は、Mongoセッションハンドラーがバージョン2.1の後半で追加されたため、セッションをDBに保存できないことです。
私たちが思いついた唯一の解決策は、ファイルシステムに保存されているセッションファイルを繰り返し処理し、ユーザーのユーザー名がそのファイルに保存されているかどうかを確認することです。その場合は、ファイルを削除するだけで、他の場所でのログインセッションが終了します。もちろん、現在のセッションも削除しないことを確認する必要があります。
誰かが問題をどのように解決できるかについてより良い考えを持っていますか?そうでない場合、知っておくべき隠れた罠はありますか?