Nadpisałem metody członkostwa, aby utworzyć członkostwo niestandardowe.Jak dodać więcej niestandardowych pól przy użyciu członkostwa niestandardowego w mvc?
W modelu rachunku mam przesłonięte metody 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);
}
}
Teraz tutaj trzeba dodać kolejne dwa pola, takie jak imię i nazwisko, ale w jaki sposób można przekazać je do powyższego sposobu ? .
Jako metodę obejścia CreateUser
da mi błąd, jeśli dodam parametry, takie jak imię i nazwisko do niego :(
Naprawdę nie powinieneś próbować dodawać pól do klasy MembershipUser. Jeśli chcesz przechowywać FirstName, LastName, etc, profil i ProfileProvider ("" w web.config) został zaprojektowany do tego. –
danludwig
jak mogę tego użyć, proszę podać dowolny link? – Neo
Oto twój link: https://www.google.com?q=asp.net+profile+provider – danludwig