Я использую членство 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 в базе данных. Кроме того, я хотел спросить, является ли это предпочтительным способом добавления дополнительных данных вместе с данными о членстве по умолчанию