Java EE 6 Webプロファイルを使用してWebアプリケーションを開発しています。新しいユーザーに自分のアカウントのアクティベーションリンクを電子メールで送信したいと思います。これをどのように実装すればよいですか?私はJSF2を使用しています。これを行うための仕様や推奨方法はありますか?Java EE 6でアクティベーションURLを生成
答えて
をリダイレクトするサーブレットが含まれます登録。鍵生成プロセスは次のようにした
キーの作成
- ユーザーのためのユニーク検証鍵を握る
users
テーブルの列verification_key
を作成します。 - ユニークのユーザー名(この場合はemail-id)のパスワードをsaltとしてSHA256ハッシュを使用します。
- ハッシュをbase64に変換し、そのユーザーの
verification_key
に保存します。これはユニークなものになるでしょう(実際的な目的のために、私は衝突する可能性はありません)。key = Base64(Hash256(uniqueUserName+"."+password))
ので、一番下の行、......
サイドノートは:ところで、何もあなたが塩としてパスワードを使用するように制限するものではありません。あなたは、塩として飛行中に任意の文字列を作成することができます。
検証
- 我々は
verification_key
がユニークである知っているので、リクエストパラメータからkey
を取得し、一致する行を見つけます。 verification_key
をnull
と設定します(衝突する可能性がある場合は、衝突の可能性も低くなります)。ユーザーを「正常に確認されたページ」にします。- 見つからない場合は、ユーザーを「already-activated/key-not-found/401ページ」に移動してください。
こんにちは。これは非常に便利な答えです。あなたの実装からもう一つ知りたい。ユーザーが起動すると、彼は何かをしようとするたびに再度確認する必要はありませんので、私は別のテーブルを持っている必要があります、 "pending_users"と言うので、ユーザーがユーザーテーブルにいる場合、 – arg20
'UUID.randomUUID()'を使用して乱数を生成することができます –
アクティブ化URLは、「サービス」要求を処理するソフトウェアサービスの印象を呼び起こします。このサービスを実現するための
良い候補者は、ユーザーの活性化/検証を実行し、私は彼を活性化させるために彼の電子メールIDを確認するために、ユーザーを必要なプロジェクトに取り組んできましたJSF成功-ページへ
サーブレットを実際に使用したことはありません私は本当にそれらを必要として以来、前にjsf2。コードの一部を私に見せてもらえますか? – arg20
- 1. Java EE 6ログインモジュール
- 2. Java EE 6 - JSFコントローラ
- 3. Java EE 6 @Inject lazy?
- 4. は、Java EE 6 SDK
- 5. Java EE WebアプリケーションでカスタムURLを作成
- 6. Java EE 6試験材料
- 7. eclipse rcp/rap Java EE 6セキュリティ
- 8. Java EE 6チュートリアル、helloserviceで404エラーが発生する
- 9. JavaのステートレスEJB(のJava EE-6)
- 10. Java EEアプリケーションからJava 6へのアップグレード
- 11. Java EE 6は無料ですか?
- 12. OSGiを使用したJava EE 6アプリ
- 13. OS X LionにJava EE 6をインストール
- 14. のJava EE 6プロデューサーは、私は7のようJBossを使用し、Java EE 6のです
- 15. Java EE 6 Eclipse JAX-RSデプロイメントの問題
- 16. Java EE 6 WebサービスとCDIインジェクション
- 17. Mojarra Java EE 5/6の互換性
- 18. Java EE 6 DB2/400用JPA 2.0プロバイダ?
- 19. Java EE 6抽象クラスへの注入
- 20. Java EE 6 SDKの使用方法は?
- 21. のJava EE 6グループ、ユーザとロール
- 22. のJava EE 6:@Injectとインスタンス<T>
- 23. Java EE 6 - 固定ドメインオブジェクトパターン - 成功しましたか?
- 24. Java EEサーブレットエラー - 重複URLパターン
- 25. Java EE 6はJava EE 5と下位互換性がありますか?
- 26. JAAS - のJava EE 6でのJavaプログラムによるセキュリティ(@DeclareRolesなし)
- 27. 継続的インテグレーション、セレニウム、JBoss AS 6のJava EE 6
- 28. Eclipse上でMaven 3を使用したJava EE 6ベースのWebサービスの作成
- 29. Java Spring RMIアクティベーション
- 30. Java EE 6/Glassfish 3.xでライブラリを展開する方法
アクティベーションURLで送信する必要がある「キー」を作成する方法や、JSFでブックマーク可能なURLを生成する方法をお望みですか? – Nishant
正確には、ユーザーが登録し、キーを持つURLが電子メールに送信されます。http://mysite.com/activate?key=dsafadsfweをクリックしてアカウントを有効にします。 – arg20
jsfからurlにアクセスしてキーパラメータなどを取得できますか – arg20