4

新しい ASP.NET MVC Web サイトをセットアップしたばかりで、電子メールの検証リンクをクリックしてユーザーに電子メール アドレスの認証を強制するように変更したいと考えています。考えられる限り多くの検索用語で答えをグーグル検索しましたが、正しい用語にヒットしたことはなかったと思います.

何ができるかを確認するためにメンバーシップ オブジェクトをいじり始めたところ、IsApproved を切り替えることができることがわかったので、デフォルトを false に設定しました。その後、新しいユーザーを登録しましたが、(予想どおり)メールは届きませんでしたが、現在のセッションでもログインしました。しかし、それは重要ではありません。

検証メールを送信するためのメカニズムが組み込まれていますか、それとも実装する必要がありますか?

4

2 に答える 2

10

これを達成するために組み込まれているものは何もありません。残念ながら、メールの送信と検証プロセスを自分で実装する必要があります。

しかし、あなたは正しい線にいます。ユーザーがサイトに登録されたら、IsApprovedプロパティを false に設定し、ランダムな「アクティベーション コード」を作成して、これを保存する必要があります (通常は、aspnet_Membership テーブルの手動で追加されたフィールドに、または ASP.NET プロファイルの一部として)。メンバーシップ プロファイルを使用している場合)、ユーザーの「アクティベーション コード」を含む URL を含む電子メールを送信します。ユーザーがこの電子メールを受信して​​ URL にアクセスすると、URL から「アクティベーション コード」を取得し、ASP.NET メンバーシップ システムからアカウントを検索して、IsApprovedプロパティを true に戻します。

これを実現する方法の詳細については、次を参照してください。

ASP.NET のメンバーシップ、ロール、およびプロファイルの調査 - パート 11

これは、ASP.NET のメンバーシップ、ロール、およびプロファイル プロバイダーに関する 16 回のパート シリーズのパート 11 であり、提供されている組み込み機能でそれらがどのように使用されるかを示すだけでなく、一般的に見られる機能ではなく、いくつかの一般的に見られる機能を実装する方法も示します。 ASP.NET システムで「そのまま」提供されます。(ちなみに、シリーズ全体は読む価値があります!)

この記事は ASP.NET MVC が登場するかなり前に書かれたものですが、「電子メールによる確認」システムを実装するための基本的なメカニズムは同じであり、より ASP.NET MVC に適したものに簡単に変換できます。

于 2009-10-14T15:01:06.393 に答える
0

ご覧のとおり、特定の種類の動作(アカウントの承認、ブロックなど)の処理がサポートされています。これらは、ある種のデフォルトの動作(x回のログイン失敗後にアカウントをブロックするなど)を持つ拡張ポイントにすぎません。ただし、電子メールリンクを使用したアカウント検証のメカニズムはそのままでは利用できません。実装する必要があります。

于 2009-10-14T15:02:40.650 に答える