ユーザーが一度にログインできるアクティブなセッションの数を制限する必要がある JBoss 7.11 Web アプリケーションのログイン モジュールを作成しています (実際の数は構成可能です)。
私の現在の計画は、ユーザー プリンシパルを受け入れるカスタム ログイン モジュールを記述し、データベースを参照してユーザーごとに実際に許可されているセッション数を確認し、そのプリンシパルに関連付けられているユーザー セッションが制限を超えているかどうかに応じて拒否または許可することです。 .
私の質問は、プリンシパルに関連付けられているアクティブなセッションの数を参照する方法を見つける最善の方法は何ですか?
データベースでアクティブなセッションを追跡し、そこからカウントを取得するという明らかなオプションがありますが、そのためにデータベースを使用する必要はありません。
また、HTTPServletRequests を取得できることを示す回答 ( Get HttpSession/Request in a JAAS Login Module ) にも気付きました。その場合、Session と ServletContexts を取得できますが、これらでできることがあるかどうかはわかりません。 Login-Module を取得したら、Login-Module でやりたいことを達成します。