2

JSF サイトに「Remember me」機能を実装する必要があります。このトピックについて調査し、ベスト プラクティスを見つけようとしています。多くの回答が見つかりましたが、私が使用しているテクノロジとデータベースにユーザー パスワードを保存する方法に基づいて、まだ質問があります。

調べたことをまとめます

  • ユーザーと推測しにくい長いシリアルを含むデータベース テーブルを作成します。
  • ユーザーがログイン時に、remember me オプションをオンにしてログインすると、db テーブルにレジストリが生成され、ユーザー名とシリアルの両方を含む Cookie がユーザーに送信されます。
  • 同じユーザーがログインしておらず、データベースに従って有効な Cookie を持っている場合、ユーザーを自動的にログインします。

実際にユーザーをログインする方法

Java EE 標準に基づいて、JAAS を使用し、MD5 バージョンのユーザー パスワードを保存します。認証を検証し、ユーザー プリンシパルを設定するために、ユーザー名とパスワードを必要とする HttpServletRequest クラスの login メソッドを使用して、ユーザーをログインさせます。


これら 2 つの事実に基づいて、ユーザーをログインするためにユーザー名とパスワードの両方が必要な場合、このベスト プラクティスに基づいて自動ログインを行うにはどうすればよいですか?

4

1 に答える 1

2

ユーザーをログインするためにユーザー名とパスワードの両方が必要な場合、このベスト プラクティスに基づいて自動ログインを行うにはどうすればよいですか?

「remember me」Cookie の値に基づいて、DB から直接ユーザー名とパスワードを取得するだけです。HttpServletRequest#login()次に、それらをメソッドに提供できます。

「remember me」Cookie の値には、ユーザー名、パスワード、ID に関するヒントを絶対に含めないでください。これは完全にランダムな値でなければなりません。はここjava.util.UUIDで役に立ちます。

以下も参照してください。

于 2012-11-29T16:01:37.183 に答える