Я переопределил методы членства для создания пользовательского членства.Как добавить дополнительные пользовательские поля, используя пользовательское членство в mvc?
В модели счета я переопределен метод CreateUser
:
public override MembershipUser CreateUser(string username, string password,
string email, string passwordQuestion, string passwordAnswer,
bool isApproved, object providerUserKey, out MembershipCreateStatus status)
{
ValidatePasswordEventArgs args = new ValidatePasswordEventArgs(
username, password, true);
OnValidatingPassword(args);
if (args.Cancel)
{
status = MembershipCreateStatus.InvalidPassword;
return null;
}
if (RequiresUniqueEmail && GetUserNameByEmail(email) != "")
{
status = MembershipCreateStatus.DuplicateEmail;
return null;
}
MembershipUser u = GetUser(username, false);
if (u == null)
{
UserRepository _user = new UserRepository();
// Here I call my new method which has fields I've created in the
// User table; I'm using entity framework.
_user.CreateUser(username, password, email);
status = MembershipCreateStatus.Success;
return GetUser(username, false);
}
else
{
status = MembershipCreateStatus.DuplicateUserName;
}
return null;
}
public MembershipUser CreateUser(string username, string password,
string email)
{
using (CustomMembershipDB db = new CustomMembershipDB())
{
User user = new User();
user.UserName = username;
user.Email = email;
user.PasswordSalt = CreateSalt();
user.Password = CreatePasswordHash(password, user.PasswordSalt);
user.CreatedDate = DateTime.Now;
user.IsActivated = false;
user.IsLockedOut = false;
user.LastLockedOutDate = DateTime.Now;
user.LastLoginDate = DateTime.Now;
//Generate an email key
// user.NewEmailKey = GenerateKey();
db.AddToUsers(user);
db.SaveChanges();
//send mail
// SendMail(user);
return GetUser(username);
}
}
Теперь здесь мне нужно добавить еще два поля, как имя и фамилию, но как я могу передать его описанным выше способом ? .
В качестве метода коррекции CreateUser
даст мне ошибку, если добавить такие параметры, как ПгвЬЫат и фамилии в него :(
Вы действительно не должны пытаться добавлять поля в класс MembershipUser. Если вы хотите сохранить FirstName, LastName и т. Д., Для этого был создан Profile & ProfileProvider ('' в web.config). –
danludwig
Как я могу использовать это, пожалуйста, дайте мне ссылку? – Neo
вот ваша ссылка: https://www.google.com?q=asp.net+profile+provider – danludwig