2
我在网站上创建一个新用户。 用户必须处于活动状态。 我必须发送一个激活电子邮件到注册的电子邮件地址与链接激活帐户。 此链接必须是已加密以便它不会被拦截。 当用户点击该链接,系统激活的账号和登录他 我user
表包含:注册用户的激活邮件MVC
ID
, Username
, Password
, ContactInfoID
, AddressID
, Role
我ContactInformation
表:
ID
, Email
, Tel
, Cell
, Fax
, Name
, Surname
user.ContactInfoID
是我ContactInformation.ID
场。
这是我如何添加用户:
UserEmailCompare ma = new UserEmailCompare();
ma.email = db.ContactInformations.Where(x => x.EMail != null).Select(x => x.EMail);
if (model.Password != model.PasswordCheck)
{
return ErrorResponse("The password you have entered does not match");
}
else
{
if (ma.email.Contains(model.Email))
{
return ErrorResponse("The e-mail address you have entered has already been registered");
}
else
{
if (ModelState.IsValid)
{
User user;
ContactInformation info;
info = new ContactInformation()
{
EMail = model.Email
};
db.ContactInformations.Add(info);
db.SaveChanges();
var only = db.ContactInformations.FirstOrDefault(x => x.EMail == model.Email).ID;
if (model.UserID == 0)
{ //add
user = new User()
{
Username = model.Username,
Password = Globals.CreateHashPassword(model.Password),
ContactInfoID = only
};
db.Users.Add(user);
}
}
}
}
任何一个可以帮助我走得更远。 我有类发送电子邮件。
我已经创造了这个类。你能帮我前进吗? – Hydro
@Hydro我没有包括*加密*,我认为在这个阶段或任何其他不需要。只要*加密*查询字符串值(如memberId和激活码) –
'IsActive'和'ActivationCode'字段应该是什么类型的字段? – Hydro