1

これに対する解決策を探していますが、Web上で解決策を見つけることができません。以前に他の言語でこれを行ったことがありますが、ASP.Netでこれを行う方法がわかりません。Visual Studio2010Expressを使用しています。

現在、RegisterUserコントロールのCreatingUserイベントにホワイトリストコマンドを配置する必要があると考えています。これに対して、ユーザーが指定した電子メールアドレスを取得し、ドメインがホワイトリストに登録された電子メールアドレスの別のテーブルにあることを確認します。ホワイトリストに含まれている場合はユーザーの登録を続行し、含まれていない場合は失敗します。

基本的に、ユーザーはWebサイトに参加するために、ホワイトリストに登録された電子メールアドレスに属している必要があります。

誰かがASP.Netでこれを具体的に行う方法について教えてもらえますかASP.Netから作成された基本的なプロジェクトテンプレートから構築しているので、これはすべて私が使用しているストックMicrosoftコードです。コードは素晴らしいですが、私も実際に何をしているのかを学びたいです!

編集: ASPNETDB.mdfに次のテーブルを作成しました

whitelistTable:

whitelistID、bigint自動インクリメント

whitelistDomain、nvarchar(256)

4

1 に答える 1

1

CreateUserWizard.CreatingUser イベントを参照している場合、CreateUserWizard コントロールは電子メール フィールドをサポートしており、メンバーシップ プロバイダーでそのように設定すると、電子メール フィールドが自動的に追加されます。(免責事項:私は実際にこれを自分で使用していません)。

<asp:CreateUserWizard ID="RegisterUser" runat="server" OnCreatingUser="RegisterUser_CreatingUser" ... > 
...
</asp:CreateUserWizard>

RegisterUser_CreatingUser ハンドラーで:

protected void RegisterUser_CreatingUser(object sender, LoginCancelEventArgs e) 
{ 
    if (!EmailIsInWhiteList(RegisterUser.Email))
    { 
        // Optional: display validation message. 
        e.Cancel = true; 
        return; 
    } 

    e.Cancel = false; 
} 
于 2012-02-28T05:47:46.200 に答える