2009-05-01 11 views
2

現在、私はログインに一意のIDを使用するサイト(asp.net 3.5)を持っています。可能であれば、電子メールを使用するように切り替える必要があります。すべての新しいアカウントを作成して、メンバーシップテーブルを消去してすべてのユーザー情報をインポートできるようにする予定です。IDからメールへの会員交換

部門の一般ログインから個々のアカウントに切り替わります。

正しい方向のリンクやポインターがあれば幸いです。

+0

十分に簡単です。それをやりなさい。どのような援助を求めていますか? – User

+0

web.configの変更ですか?私はユニークな値があることがわかります電子メールはその設定ですか? – JPJedi

+0

ああ、あなたはメンバーシップを使っています...よく、誰が内部的にどのように動作するかを知っています...メンバーシップを手作業で簡単に実装する方が簡単です。 – User

答えて

2

ここにあなたがすべきことがあります。 ユーザベース全体を作成して現在のものを消去し、電子メールで新しいユーザを作成するようにユーザに指示する場合は、エントリフォームでそれを検証していれば、良いものになります。 すでにユーザーベースをお持ちの場合は、もう少し複雑です。 まず、現在のすべてのユーザーに有効な個別の電子メールがあることを確認してから、aspnet_Usersテーブルで2列を変更する必要があります。列はUserNameとLoweredUserNameです。 最初のステップが真であれば単純です。すべてのaspnetMembership行に対してループを行い、Emailの列を取得してUserNameとして設定し、LoweredUserName列をLoweredUserNameとして取得します。

Ta daaaaaa!

新しいモデルに移行しました。新しいエントリの場合は、エントリフォームでUserNameが電子メールであることを確認してください。そのため、RegExを使用することができます。

+0

これはちょっと面白いですね。私はスイッチを作ることができた..あなたのために誰も助けてくれてありがとう。 しかし、私たち全員が物事が変わるのを知っています。 DBに古いアカウントを保存し、電子メールベースの新しいアカウントを追加することは可能ですか?したがって、旧ユーザーIDと新しいユーザーIDのハイブリッドになります。すべてのアカウントのメールは一意になります。 私はこれをやりたいと思っています。その後、古いアカウントで完了し、電子メールIDへの切り替えが行われたときに、古いIDを削除してクリーンアップすることができます。 音が聞こえますか? – JPJedi

+0

問題が発生する可能性があります。新しいアカウントの電子メールは古いアカウントと同じになります。制約がない場合は、asp_netメンバーシップシステムで作成されたSPがあり、新しいアカウントを作成することができますそれは同じものでなければなりません。 あなたがするかもしれないもう1つのことは、日付xxxの後にメールアドレスでのみログに記録できることをユーザーに通知することです。アカウント上のメールを変更するチャンスを与えることができれば、移動すると準備ができました。 – Oakcool

関連する問題