public ActionResult SendEmailToResetEmail(AdminUser user) { ViewBag.gotoForm = 1; if (!ModelState.IsValid) { return(View(user)); } var _userInDb = db.AdminUsers.SingleOrDefault(u => u.Username == user.Username); if (_userInDb == null) { ViewBag.Message = "Email is not found."; } else if (_userInDb != null) { var SecurityCode = GenerateSecurityCode(); var AdminResetPass = new AdminResetPassword(); AdminResetPass.ResetCode = SecurityCode; AdminResetPass.AdminUserId = Convert.ToInt32(_userInDb.Id); db.AdminResetPasswords.Add(AdminResetPass); db.SaveChanges(); MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); var resetLink = "http://localhost:52629/AdminResetPassword/RetrivedPassword?SecurityCode=" + SecurityCode; // I need a valid SMTP account. var smtp_username = "******"; var smtp_password = "******"; mail.From = new MailAddress(smtp_username); mail.To.Add(_userInDb.Username); mail.Subject = "Navagis Internal Tool - Reset Password"; mail.Body = "<p>Dear " + _userInDb.FirstName + ", <br />" + "Please use this link to reset your password:<br>" + " <a href='" + resetLink + "'>" + resetLink + "</a><br /><br />" + "Thank you.</p>"; SmtpServer.Port = 587; SmtpServer.Credentials = new System.Net.NetworkCredential(smtp_username, smtp_password); SmtpServer.EnableSsl = true; SmtpServer.UseDefaultCredentials = false; //SmtpServer.Send(mail); ViewBag.gotoForm = 0; } return(View(user)); }
public ActionResult ResetPassword(int id, AdminResetPassword formData) { var user = Database.Session.Get <User>(id); if (user == null) { return(HttpNotFound()); } formData.Username = user.Username; if (!ModelState.IsValid) { return(View(formData)); } user.SetPassword(formData.Password); Database.Session.Update(user); Database.Session.Flush(); Database.Session.Clear(); return(RedirectToAction("index")); }
public async Task <IHttpActionResult> AccountAdminResetPassword(AdminResetPassword model) { if (!ModelState.IsValid) { BadRequest("Model state is not valid"); } // Check user user permission var userInfo = GetUserInfo(); var isSystemAdmin = _identityService.HasSystemAdminRole(userInfo); if (!isSystemAdmin) { Unauthorized("Unauthorized"); } var user = await UserManager.FindByNameAsync(model.Email.TrimAndToLowerCase()); if (user == null) { // Don't reveal that the user does not exist return(Ok()); } var removePassword = UserManager.RemovePassword(user.Id); if (removePassword.Succeeded) { //Removed Password Success IdentityResult result = UserManager.AddPassword(user.Id, model.NewPassword); if (!result.Succeeded) { return(GetErrorResult(result)); } } return(Ok()); }