Я использую API членства с реализацией OpenId в моем проекте, построенном на платформе MVC2. Помимо имени пользователя, мне нужно, чтобы с пользователем во время регистрации были связаны некоторые другие поля.
Я не уверен, но думаю, что система профилей в asp.net создана для этого типа требований. Кроме того, я вижу таблицу с другими таблицами членства с именем aspnet_profile.
Я добавил следующие настройки в приложение web.config, чтобы включить профиль:
<profile enabled="true">
<properties>
<add name="FullName" allowAnonymous="false"/>
</properties>
</profile>
Как было сказано ранее, приложению требуются некоторые дополнительные данные для связывания с пользователем, поэтому при создании пользователя с использованием 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 в базе данных. Кроме того, я хотел спросить, является ли это предпочтительным способом добавления дополнительных данных вместе с данными членства по умолчанию