Code First 移行で ASP.NET MVC 4 と Entity Framework を使用してアプリを作成しています。
というクラスInitializeSimpleMembership
には、次のコード行があります。
WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile",
"UserId", "UserName", autoCreateTables: true);
ユーザー"UserName"
のユーザー名を含む列を参照します。これらのユーザー名は一意である必要がありますか? このアプリでのみ Facebook 経由の OAuth 認証を使用します。そのため、UserName フィールドには、ユーザーの Facebook 名 (「George Smith」など) を保存します。もちろん、多くのジョージ スミスが私のアプリを使用している可能性がありますが、競合が発生することはありますか?
次のパラメーターWebSecurity
を取るなど、クラスの多くのメソッドに気付きました: . ユーザー名が一意でない場合、それがどのように機能するかわかりません。さらに、OAuth のデフォルトの FacebookClient は、たとえば を含む ExtraData ディクショナリを返します。ユーザー名の下にメールを保存したいようです(ユーザー名を一意にするため)。 WebSecurity.GetUserId
string userName
ExtraData["username"] = george.smith@gmail.com
私は SimpleMembership について十分に理解していません。すべてがスムーズに機能するために、UserName に格納されている値が一意である必要があるかどうかを誰かが明確にすることはできますか?
ありがとうございました。