ユーザー名を受け入れる代わりに、メンバーシップAPIでユーザー名として電子メールアドレスを使用します。 私は電子メールアドレスを使用して自分のサイトにサインアップし、ユーザー名とパスワードの代わりに電子メールIDとパスワードを使用してログインできるようにしたいと考えています。ASP.NETでユーザー名として電子メールアドレスを設定するメンバーシッププロバイダ
4
A
答えて
4
強制的にユーザー名=ユーザーのメールを送信するだけです。
これを行うには、ユーザー作成フォームにRegExバリデーターを入れて、適切な電子メールのみをユーザー名として許可します。
ユーザーの電子メールに基づいて既存のユーザー名を変更します。
7
これは私たちが行ったことであり、再利用可能であり、web.configで再登録できます。あなたがそれについて考えるなら、これが重要な位置です。あなたの妥当性チェックとフロントエンドがエンドユーザにユーザ名が電子メールであるべきことを示す限り、適切な妥当性チェックを行います。ショートカット版の新しい方法と、ファサードの背後にあるオリジナルを隠す/変更する。
public class EmailAsUsernameMembershipProvider : SqlMembershipProvider
{
public MembershipUser CreateUser(string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
{
return base.CreateUser(email, password, email, passwordQuestion, passwordAnswer, isApproved, providerUserKey, out status);
}
private new MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
{
return base.CreateUser(email, password, email, passwordQuestion, passwordAnswer, isApproved, providerUserKey, out status);
}
public override bool RequiresUniqueEmail
{
get
{
return true;
}
}
}
5
既にこのスレッドで説明したようにこれは可能なすべてのですが、注意すべき一つのことがあります:電子メール(テーブル・メンバーシップ)が256個の文字である一方で、データベースにユーザ名が50文字(表ユーザ)の長さであります長いです。実際、これは短い電子メールアドレスを意味します。 :)
関連する問題
- 1. ASP.NET SQLMembershipProvider - ユーザー名として電子メール
- 2. ユーザー名が電子メールアドレスのユーザーにユーザーを追加する
- 3. WordPressユーザーに電子メールアドレスを設定する
- 4. Windowsコマンドプロンプトを使ってGitでユーザー名と電子メールアドレスを設定する際のエラー
- 5. ASP.NETでLive Connect APIを使用してユーザーの電子メールアドレスを取得する
- 6. ASP.NETフォーム認証でユーザー名の代わりに電子メールアドレスを使用
- 7. Powerbiのユーザーの電子メールアドレス
- 8. Androidのファイル名として電子メールアドレスを使用する
- 9. ASP.NETメンバーシッププロバイダ:動的にアプリケーション名を設定する
- 10. Django form.pyの電子メールアドレスとユーザー名の確認
- 11. ASP.NET電子メールのメンバーシッププロバイダのパスワードを置換します
- 12. asp.netメンバーシッププロバイダ:異なるアプリケーション名のユーザーを作成します
- 13. BlackBerryシミュレータで電子メールアドレスを設定する
- 14. Python Flask - ユーザー名ではなく、電子メールアドレスでログインしてください。
- 15. .NETでユーザーのExchangeサーバーと電子メールアドレスを取得する
- 16. ユーザー名と電子メールをローカルに設定したgitクローニングのエイリアスですか?
- 17. jsonPathと電子メールアドレス
- 18. 電子メールアドレスの形のユーザー名を持つGitリモートURL
- 19. Asp.Netメンバーシップ・プロバイダ - ドメイン内の電子メールアドレスでユーザーを取得する方法は?
- 20. Microsoftユーザーの電子メールアドレスを取得
- 21. Ubuntu - cronジョブの 'from'電子メールアドレスを設定する
- 22. 1つのプロジェクトに対してユーザー名/電子メールを設定しますか?
- 23. Jmeterユーザー定義変数で電子メールアドレスを定義する方法は?
- 24. ユーザー名(電子メールアドレス)とパスワードを検証しようとしています - 問題がある - vb.net
- 25. SurveyMonkey APIを使用してサーベイコレクタの送信者電子メールアドレスを設定する
- 26. symfony:リクエストパラメータとしての電子メールアドレス
- 27. 電子メールアドレスでユーザー名を抽出するOutlook VBA正規表現
- 28. 電子メールアドレスからドメイン名を選択
- 29. 保存ユーザー(複数可)メールアドレスと名前、私のUIは、2つのテキストボックス、ユーザー名に対するユーザーの電子メールアドレス用とその他で始まり
- 30. 設定の名前と電子メール
私はDAL/BLLとWebアプリケーション(ビジネス・ロジック・レイヤーのデータベース・アクセス・レイヤーとWebアプリケーションの異なるレイヤーの組み合わせで、SQLプロバイダー・クラスを継承する方法はできません)のような構造を持っているWebアプリケーションを使用しています。だから... – user685565
私たちのアプリは同じものを使用しています。これはasp.netのメンバーシップのものを使用する場合です。メンバーシップのものを使用したくない場合は、独自のメンバーシッププロバイダを作成する必要があります。私たちは、あなたのデータを照合するためにそのクエリをラップし、現在ログインしているユーザーに簡単にアクセスできるように、httpcontextに注入されたSecurityContextオブジェクトを持っています。あなたの質問でこの答えがそれをカバーしていない場合。 –