MVC2フレームワーク上に構築されたプロジェクトでOpenId実装を備えたMembershipAPIを使用しています。ユーザー名以外に、登録時にユーザーに関連付ける他のフィールドが必要です。
よくわかりませんが、asp.netのプロファイルシステムはこのタイプの要件に合わせて構築されていると思います。また、「aspnet_profile」という名前の他のメンバーシップテーブルを含むテーブルが表示されます。
プロファイルを有効にするために、アプリケーションweb.configに次の設定を追加しました。
<profile enabled="true">
<properties>
<add name="FullName" allowAnonymous="false"/>
</properties>
</profile>
前に述べたように、アプリケーションはユーザーに関連付けるためにいくつかの追加データを必要とするため、Membership APIを使用してユーザーを作成するときに、プロファイルテーブルにエントリを作成するためのコードをさらに数行追加しました
System.Web.Security.MembershipCreateStatus status = MembershipService.CreateUser(userModel.UserName, userModel.Password, userModel.UserName);
if (status == System.Web.Security.MembershipCreateStatus.Success)
{
FormsService.SignIn(userModel.UserName, true);
Session["Username"] = userModel.UserName;
dynamic profile = ProfileBase.Create(MembershipService.GetUser(userModel.UserName).UserName);
profile.FullName = userModel.UserFullName;
profile.Save();
RedirectToAction("Tech", "Home");
}
しかし、データベースのaspnet_profileテーブルに追加された行はありません。また、これがデフォルトのメンバーシップデータと一緒に追加データを追加するための好ましい方法であるかどうかを尋ねたいと思いました