1

デフォルトのメンバーシッププロバイダーを使用しているasp.netMVC2Webサイトで、重複する電子メールを持つユーザーを削除する最も効率的な方法を探しています。

このサイトを立ち上げ、一意のメールアドレスをtrueに設定しませんでした。ユーザー名/パスワードを忘れる機能を実装しようとしているので、100人を超えるユーザーがパスワードを忘れ、パスワードを忘れていないために再登録したことに気付きました。特徴。ユーザー名とパスワードをリセットするメールを送信するには、ユーザーにメールアドレスを入力してもらう必要があるため、これは問題です。複数のユーザーがメールを共有するため、これは失敗します。起動前にweb.configの一意の電子メールオプションに気づいたら、非常に面倒な作業を省くことができたと思います。:(

これらのアカウントを1つずつ手動で削除しなくても簡単に削除したいので、連絡して、重複するアカウントが作成されたことを通知します。

これを行うための最良の方法は何ですか?一部のユーザーは、同じメールアドレスに最大5回登録しています。

4

1 に答える 1

3

Membership.GetAllUsers()すべてのユーザーのリストを取得するために呼び出すことができます。

次に、でグループ化しMembershipUser.Email、保持するものを決定し(たとえば、最新のアカウントを保持するLastActivityDate)、その他を削除します(Membership.DeleteUser)。

これをすべて行うための小さなプログラムを作成するのは簡単です。もちろん、アカウントを削除する前にユーザーに相談する必要があるかどうかを検討することをお勧めします。たとえば、一定期間内に返信がない場合、アカウントが自動的に削除されることを通知するメールを送信できます。

于 2012-07-05T19:16:54.420 に答える