public static void AddToConfirmList(AccountModel accountModel) { var toConfirm = ToConfirmDataMapper.GetAccountDataMapper(); accountModel.ConfirmationCode = GenerateConfirmationCode(accountModel.Email.Substring(0, accountModel.Email.IndexOf('@'))); accountModel.Confirmed = false; toConfirm.Add(accountModel); }
public static void EncryptPassword(AccountModel accountModel) { var salt = CreateSalt(SALT_SIZE); var passwordHash = CreatePasswordHash(accountModel.Password, salt); accountModel.Salt = salt; accountModel.Password = passwordHash; }
public static void SendConfirmationMail(AccountModel accountModel, String baseUrl) { MailMessage m = new MailMessage(); m.From = new MailAddress(EMAIL); m.To.Add(accountModel.Email); m.Subject = CONF_SUBJECT; m.Body = baseUrl + CONF_URI + accountModel.ConfirmationCode; System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.gmail.com"); smtp.UseDefaultCredentials = false; smtp.Credentials = new NetworkCredential(EMAIL, EMAIL_PW); smtp.EnableSsl = true; smtp.Port = 587; smtp.Send(m); }
public static AccountModel RegisterAccount(RegisterAccountModel registerAccountModel) { var adm = AccountDataMapper.GetAccountDataMapper(); if (adm.GetById(registerAccountModel.Username.ToLower()) == null) { AccountModel accountModel = new AccountModel(); accountModel.Username = registerAccountModel.Username.ToLower(); accountModel.Password = registerAccountModel.Password; accountModel.Email = registerAccountModel.Email; EncryptPassword(accountModel); accountModel.Roles = new List<string>() { "User" }; adm.Add(accountModel); AddToConfirmList(accountModel); return accountModel; } return null; }
public static bool ComparePasswords(string inserted, AccountModel accountModel) { String s = CreatePasswordHash(inserted, accountModel.Salt); return s.Equals(accountModel.Password); }
public ActionResult Index(AccountModel accountModel) { return View(accountModel); }
public ActionResult ShowInfo(AccountModel accountModel) { return View(accountModel); }
public ActionResult Settings(AccountModel accountModel) { return View(accountModel); }
public ActionResult LogOn(AccountModel accountModel) { var adm = AccountDataMapper.GetAccountDataMapper(); var user = adm.GetById(accountModel.Username.ToLower()); if (user != null){ if (!user.Confirmed) ModelState.AddModelError("Username", "O username inserido ainda não foi confirmado. Por favor confirme através do seu email."); else if (LoginUtils.ComparePasswords(accountModel.Password, user)) { FormsAuthentication.SetAuthCookie(user.Username, false); return RedirectToAction("Index", "Home", user); } /* Login Failed */ else ModelState.AddModelError("Password", "A password inserida não é valida"); } else/*User not found. Please register*/ ModelState.AddModelError("Username", "O username inserido não corresponde a nenhum utilizador registado."); return View(accountModel); }