Ho sovrascritto i metodi di appartenenza per creare un abbonamento personalizzato.Come aggiungere altri campi personalizzati utilizzando l'appartenenza personalizzata in mvc?
Nel modello conto che ho sovrascritto il metodo 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);
}
}
Ora qui ho bisogno di aggiungere altri due campi come nome e cognome, ma come posso passarlo al metodo di cui sopra ? .
Come il metodo di sostituzione CreateUser
mi darà un errore se aggiungo parametri come il nome cognome e l'ultimo in esso :(
In realtà non si dovrebbe provare ad aggiungere campi alla classe MembershipUser. Se si desidera memorizzare FirstName, LastName, ecc, il profilo e ProfileProvider ('' in web.config) è stato progettato per questo. –
danludwig
come posso usarlo per favore dammi qualche link? – Neo
questo è il tuo link: https://www.google.com?q=asp.net+profile+provider – danludwig