Java EE 6 Web プロファイルを使用して Web アプリケーションを開発しています。新しいユーザーに、アカウントの有効化リンクを電子メールで送信したいと考えています。これをどのように実装すればよいですか?私はJSF2を使用しています。これを行うための仕様または推奨される方法はありますか?
6608 次
2 に答える
16
私は、ユーザーが自分の電子メール ID を確認して登録を有効にする必要があるプロジェクトに取り組んできました。キー生成プロセスは次のようになりました。
キーの作成
- ユーザーの一意の検証キーを保持
verification_key
するusers
テーブルに列を作成します。 - 一意のユーザー名 (この場合はメール ID)のSHA256ハッシュをパスワードとしてソルトと共に使用します。
- ハッシュをbase64に変換し、そのユーザーに保存し
verification_key
ます。これは一意になります (実際には、衝突の可能性については説明しません)。
つまり、要するに、key = Base64(Hash256(uniqueUserName+"."+password))
……
補足:ところで、パスワードをソルトとして使用することを制限するものは何もありません。その場でソルトとして任意の文字列を作成するだけです。
検証
verification_key
が一意であることがわかっているため、key
リクエスト パラメータから を取得し、一致する行を見つけます。- 見つかった場合は、として設定
verification_key
しnull
(これにより、競合が発生する可能性も減少します)、ユーザーは「正常に検証されたページ」に移動します。 - 見つからない場合は、ユーザーを「already-activated/key-not-found/401 page」に誘導します。
于 2011-02-02T07:17:15.320 に答える
1
アクティベーション URL は、「サービス」要求を処理するソフトウェア サービスの印象を呼び起こします。
このサービスを実現するための適切な候補には、ユーザーのアクティブ化/検証を実行し、JSF 成功ページにリダイレクトするサーブレットが含まれます。
于 2011-02-02T06:51:06.123 に答える