通常、私は自分のプロジェクトでカスタム ログイン フォームと Bean を使用して Java EE 認証を使用します。そこで、データベース (JDBC) からユーザー/パスワードを取得するように Glassfish を構成し、HttpServletRequest の login() メソッドを呼び出す RequestScoped Bean (「LoginBean」という名前) で login() メソッドを呼び出す jsf フォームを作成します。
ログイン試行が成功したら、「LoginService」と名付けた LoginBean にインジェクトされた SessionScoped Bean にユーザー情報を設定します。そして、他の多くの Web サイト ページや Bean では、常に LoginService を注入してそのデータにアクセスすることで、このデータを使用しています。
すべて問題ありませんが、ユーザーがまだログインを試みていなくても、ユーザーがログイン ページにアクセスすると、セッションが作成されていることに気付きました。私の推測では、オブジェクトの作成時に LoginService が常に LoginBean に注入されているために発生していると思われます。
そのため、2 つの質問があります。
- このセッションを気にする必要がありますか? これにより問題が発生する可能性はありますか?
- ユーザーがログインページにアクセスするたびにセッションを作成せずに、このカスタムログインを行う最良の方法は何ですか? つまり、成功した後にクエリ文字列でユーザー情報を渡すことができましたが、それは恐ろしいことです。:)
どうも。