public async Task <IActionResult> ForgotPassword(ForgetPassword model) { if (ModelState.IsValid) { // Find the user by email var user = await UserManager.FindByEmailAsync(model.Email); // If the user is found AND Email is confirmed if (user != null && await UserManager.IsEmailConfirmedAsync(user)) { // Generate the reset password token var token = await UserManager.GeneratePasswordResetTokenAsync(user); // Build the password reset link var passwordResetLink = Url.Action("ResetPassword", "Account", new { email = model.Email, token = token }, Request.Scheme); // Log the password reset link _logger.Log(LogLevel.Warning, passwordResetLink); // Send the user to Forgot Password Confirmation view return(View("ForgotPasswordConfirmation")); } // To avoid account enumeration and brute force attacks, don't // reveal that the user does not exist or is not confirmed return(View("ForgotPasswordConfirmation")); } return(View(model)); }
public async Task <IActionResult> ForgetPassword(ForgetPassword model) { if (!ModelState.IsValid) { return(View(model)); } var user = await _userManager.FindByEmailAsync(model.Email); if (user == null || !(await _userManager.IsEmailConfirmedAsync(user))) { return(View("ForgetPasswordConfirm")); } var code = await _userManager.GeneratePasswordResetTokenAsync(user); var callBackUrl = Url.RouteUrl( "GetResetPassword", new { key = user.GeneratedKey, code }, Request.Scheme); var message = $"<a href=\"{callBackUrl}\"> Rest Password </a>"; await _emailSender.SendEmailAsync(user.Email, "Rest Password", message); return(View("ForgetPasswordConfirm")); }
public async Task <ActionResult> ForgetPassword([Bind(Include = "StudentEmail")] ForgetPassword forget) { if (ModelState.IsValid) { var registered = db.CP_Registration.Where(s => s.StudentEmail == forget.StudentEmail).FirstOrDefault(); if (registered == null) { ViewBag.ModelErrors = "الطالب غير مسجل او التحقق من البيانات"; return(View(forget)); } if (registered.ActivationStatus == false) { var activationcode = HashHelper.Encrypt(registered.StudentCode); await MailHelper.SendActivationMail(registered.StudentEmail, Request.Url.Scheme, Request.Url.Host, Request.Url.Port.ToString(), activationcode); ViewBag.Message = "يجب تفعيل حسابك اولا قبل حتى يمكنك تغيير كلمة المرور افحص بريدك الالكترونى"; return(View("Message")); } var resetcode = HashHelper.Encrypt(registered.StudentCode); await MailHelper.SendResetPasswordMail(forget.StudentEmail, Request.Url.Scheme, Request.Url.Host, Request.Url.Port.ToString(), resetcode); ViewBag.Message = "تم ارسال رابط تغيير كلمة المرور على البريد الالكترونى"; return(View("Message")); } return(View(forget)); }
/// <summary> /// Method for Forget the password. /// </summary> /// <param name="forgetPassword">The forget password.</param> /// <returns></returns> public ResponseModel ForgetPassword(ForgetPassword forgetPassword) { try { var data = _userContext.Users.FirstOrDefault(user => user.Email == forgetPassword.Email); if (data != null) { var userdata = new ResponseModel() { UserId = data.UserId, FirstName = data.FirstName, LastName = data.LastName, Email = data.Email, Type = data.Type, IsActive = data.IsActive, IsCreated = data.IsCreated, IsModified = data.IsModified }; return(userdata); } return(null); } catch (Exception e) { throw new Exception(e.Message); } }
public IActionResult Forget(ForgetPassword model) { if (ModelState.IsValid) { KhachHang kh = db.KhachHang.SingleOrDefault(p => p.Email == model.UserEmail); if (kh == null) { ModelState.AddModelError("Lỗi", "Email không tồn tại trong dữ liệu"); return(View("Index")); } else { string mk = CreatePassword(12); kh.MatKhau = Encryptor.MD5Hash(mk); db.Update(kh); db.SaveChangesAsync(); MailMessage mm = new MailMessage("*****@*****.**", model.UserEmail); mm.Subject = "Mật khẩu tài khoản Eshop"; mm.Body = string.Format("Xin chào: <h1>{0}</h1> <br/> Mật khẩu mới của bạn là <h1>{1}</h1>", kh.HoTen, mk); mm.IsBodyHtml = true; SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; smtp.Port = 587; smtp.EnableSsl = true; smtp.Credentials = new System.Net.NetworkCredential("*****@*****.**", "eshop147258369"); smtp.Send(mm); TempData["Success"] = "Xin hãy kiểm tra Email của bạn!"; return(View("Index")); } } return(View("Index")); }
public static bool ForgetPassword(ForgetPassword fp) { var old = (from ofp in context.ForgetPasswords where ofp.uid == fp.uid select ofp).FirstOrDefault(); if (old != null) { old = fp; } else { context.ForgetPasswords.Add(fp); } try { context.SaveChanges(); } catch (Exception e) { log.Error(e.Message); return(false); } return(true); }
public IActionResult ForgetPassword(ForgetPassword forgetPassword) { try { if (forgetPassword == null || string.IsNullOrWhiteSpace(forgetPassword.Email) || !forgetPassword.Email.Contains('@') || !forgetPassword.Email.Contains('.')) { return(BadRequest(new { Message = "Please Provide the Data Properly." })); } ResponseModel data = _userBusiness.ForgetPassword(forgetPassword); if (data != null) { var token = GenerateJSONWebToken(data, "ForgetPassword"); var success = true; var message = "Email Verified successfully"; Send.SendMSMQ(token, forgetPassword.Email); return(Ok(new { success, message, token })); } else { var success = false; var message = "Email is not matched"; return(NotFound(new { success, message })); } } catch (Exception e) { return(BadRequest(new { e.Message })); } }
public ActionResult ForgetPasswordSubmit(ForgetPassword objFgtPwd) { if (ModelState.IsValid) { oSysUser = oDBContext.SysUsers.FirstOrDefault(t => t.UserId == objFgtPwd.USERID && t.Email == objFgtPwd.USEREMAIL.Trim()); if (oSysUser != null) { string body = string.Empty; using (StreamReader reader = new StreamReader(HttpContext.Server.MapPath("~/Content/EmailTemplate/ForgetPasswordEmailBody.html"))) { body = reader.ReadToEnd(); } body = body.Replace("{UserID}", oSysUser.UserId); body = body.Replace("{Email}", oSysUser.Email); body = body.Replace("{Password}", oSysUser.Password); SendEmail.SendMail("Forget Password", objFgtPwd.USEREMAIL, body); TempData["SignMsgSuccess"] = "Please Check Inbox/Spam/Junk of your mailbox."; return(View("Index")); } else { TempData["SignMsg"] = "Invalid User ID / Email !!!"; return(View("Index")); } } return(View("Index")); }
public JsonResult SubmitForget() { if (!Permission.NotLoginNeed(Request, Response, Session)) { return(null); } string username = Request["username"]; string email = Request["email"]; User user = UserView.GetUserByUsername(username); UserInfo info = UserInfoView.GetUserInfo(user.uid); if (email != info.email) { return(Json(false)); } ForgetPassword fp = new ForgetPassword { uid = user.uid, code = Hash.Md5(user.login_date.ToString() + user.uid + new Random().Next() + DateTime.Now) }; return(Json(UserView.ForgetPassword(fp))); }
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { this.Hide(); ForgetPassword frm = new ForgetPassword(); frm.Show(); }
public async Task <IActionResult> ForgetPassword(ForgetPassword forget) { if (!ModelState.IsValid) { return(View(forget)); } Worker user = await _userManager.FindByEmailAsync(forget.Email); bool username = user.UserName != forget.UserName; bool name = user.Name != forget.Name; bool surname = user.Surname != forget.Surname; if (username || name || surname) { return(View(forget)); } string resetoken = await _userManager.GeneratePasswordResetTokenAsync(user); IdentityResult _result = await _userManager.ResetPasswordAsync(user, resetoken, forget.Password); if (!_result.Succeeded) { foreach (var error in _result.Errors) { ModelState.AddModelError("", error.Description); } return(View(forget)); } user.Password = forget.Password; await _db.SaveChangesAsync(); return(RedirectToAction(nameof(Login))); }
public ActionResult ForgetPassword(ForgetPassword forgetPassword) { try { LoginRequest l = new LoginRequest(); l.username = forgetPassword.username; l.password = null; Debug.WriteLine(l.username); Debug.WriteLine(l.password); var APIresponse = Client.PostAsJsonAsync <LoginRequest>("http://localhost:8081/forget", l).GetAwaiter().GetResult(); if (APIresponse.IsSuccessStatusCode) { return(RedirectToAction("RestPassword")); } else { TempData["message"] = APIresponse.StatusCode; return(RedirectToAction("ForgetPassword")); } } catch { return(View()); } }
public async Task <IActionResult> ForgetPassword(ForgetPassword model) { if (ModelState.IsValid) { CommonUser user = await _commonUserSvc.CheckUser(model.Email); if (user != null) { string token = Convert.ToBase64String(Guid.NewGuid().ToByteArray()); var callbackUrl = Url.Action("ResetPassword", "User", new { code = token }); using (var tx = CommonContext.Database.BeginTransaction()) { user.Token = token; user.TokenUtc = DateTime.UtcNow; CommonContext.Users.Update(user); await CommonContext.SaveChangesAsync(); tx.Commit(); } _logger.Error($"Sending Email email:{model.Email} callback:{callbackUrl}"); bool result = await _mailSvc.SendPasswordResetEmail(model.Email, callbackUrl); _logger.Error($"Email Sent:"); } ViewBag.SucessMessage = "Please check your email for a link to reset your password"; return(View()); } return(View(model)); }
public bool ForgetPassword(string email, string urlChangePassword) { LaborerandAdmin ex = new LaborerandAdmin(); ForgetPasswordController forgetPasswordController = new ForgetPasswordController(); ex = db.LaborerandAdmins.Where(a => a.email == email).SingleOrDefault(); if (ex != null) { MailHelper mail = new MailHelper(); Random random = new Random(); const string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; string param = new string(Enumerable.Repeat(chars, 20).Select(s => s[random.Next(s.Length)]).ToArray()); param += long.Parse(DateTime.Now.ToString("yyyyMMddHHmmss")).ToString(); //Save database ForgetPassword forgetPassword = new ForgetPassword { email = email, Type = false, Status = false, ExpirationTime = DateTime.Now.AddMinutes(15), Param = param }; string content = System.IO.File.ReadAllText(System.Web.Hosting.HostingEnvironment.MapPath("~/Content/template/forgetPassword.html")); content = content.Replace("{{userName}}", ex.laborerName); content = content.Replace("{{link}}", urlChangePassword + "/" + param); if (forgetPasswordController.AddForgetPassword(forgetPassword)) { mail.SendMail(ex.email, "A Request forgetting the password of your account was sent", content); } return(true); } return(false); }
public object ForgetPassword(ForgetPassword obj) { if (obj.ContactNumber == null) { return(new Error() { IsError = true, Message = "Contact Number Required" }); } GRContext db = new GRContext(); string res = ""; var user = db.tbl_user.Where(r => r.contact == obj.ContactNumber).FirstOrDefault(); if (user == null) { return(new Error() { IsError = true, Message = "Contact Number Not Found" }); } if (user.name.Length > 0) { res = "Dear <b>" + user.name + "</b> your User Name is <b>" + user.name + "</b> and Password is <b>" + CryptIt.Decrypt(user.password) + "</b>."; } else { res = "Sorry we didn't find you in our system."; return(res); } try { Email objemail = new Email(); bool IsDelete; if (user.email.Length > 0) { //IsDelete = objSMS.SMSSend(MobNo, res); IsDelete = objemail.SendEmail(user.email, res, "Forgot Password", "", "", "", ""); res = "User Name and Password Is Send On Your Registred Email ID. "; return(new Result() { IsSucess = true, ResultData = res }); } else { res = "Sorry we didn't find your Email ID in our system."; //return new Error() { IsError = true, Message = res }; } return(res); } catch (Exception e) { return(new Error() { IsError = true, Message = e.Message }); } }
public async Task <DatabaseResponse> GetForgetPassword(string email) { try { SqlParameter[] parameters = { new SqlParameter("@EmailAddress", SqlDbType.VarChar) }; parameters[0].Value = email; _DataHelper = new DataAccessHelper("Customer_ForgotPassword", parameters, _configuration); DataTable dt = new DataTable(); int result = await _DataHelper.RunAsync(dt); //111/107/109 ForgetPassword changePasswordToken = new ForgetPassword(); DatabaseResponse response = new DatabaseResponse(); if (dt != null && dt.Rows.Count > 0) { changePasswordToken = (from model in dt.AsEnumerable() select new ForgetPassword() { CustomerId = model.Field <int>("CustomerID"), Token = model.Field <string>("Token"), Name = model.Field <string>("Name"), Email = model.Field <string>("Email") }).FirstOrDefault(); response = new DatabaseResponse { ResponseCode = result, Results = changePasswordToken }; } else { response = new DatabaseResponse { ResponseCode = result }; } return(response); } catch (Exception ex) { LogInfo.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical)); throw ex; } finally { _DataHelper.Dispose(); } }
public bool isType(string id) { ForgetPassword fp = db.ForgetPasswords.Where(a => a.Param == id).FirstOrDefault(); if (fp != null && fp.Type == true) { return(true); } return(false); }
public bool isExist(string id) { ForgetPassword fp = db.ForgetPasswords.Where(a => a.Param == id).FirstOrDefault(); if (fp != null && fp.ExpirationTime > DateTime.Now) { return(true); } return(false); }
private string getLink(ForgetPassword forgpsd) { string link = string.Empty; string indexLocation = "http://localhost:15985/ForgetPassword/ChangePassword"; string token = forgpsd.random_md5; string id = forgpsd.Forget_id.ToString(); link = indexLocation + "?token=" + token + "&id=" + id; return(link); }
public async Task <IActionResult> ForgetPassword(ForgetPassword model) { if (ModelState.IsValid) { await model.SendLetter(_userManager, _signInManager, Url, HttpContext); return(View("ForgetPasswordMessage")); } return(View(model)); }
public IHttpActionResult ForgetPassword(ForgetPassword model) { var userStore = new UserStore <ApplicationUser>(new ApplicationDbContext()); var manager = new UserManager <ApplicationUser>(userStore); ApplicationUser cUser = manager.FindByName(model.UserName); string hashedNewPassword = manager.PasswordHasher.HashPassword(model.NewPassword); userStore.SetPasswordHashAsync(cUser, hashedNewPassword); return(Ok()); }
public void Task_ForgetPasswoed_Return_OkResult() { var controller = new UserAccountController(_userBusiness, _config); var data = new ForgetPassword { Email = "*****@*****.**" }; var expecteddata = controller.ForgetPassword(data); Assert.IsType <OkObjectResult>(expecteddata); }
public void Task_ForgetPasswodEmailwithoutdot_Return_BadResult() { var controller = new UserAccountController(_userBusiness, _config); var data = new ForgetPassword { Email = "jayusawakare14@gmailcom" }; var expecteddata = controller.ForgetPassword(data); Assert.IsType <BadRequestObjectResult>(expecteddata); }
public static async Task SendLetter(this ForgetPassword model, UserManager <User> _userManager, SignInManager <User> _signInManager, IUrlHelper url, HttpContext httpContext) //TO DO: перенести этот метод { var user = await _userManager.FindByNameAsync(model.Email); var code = await _userManager.GeneratePasswordResetTokenAsync(user); var codeUrl = url.Action("ResetPassword", "Account", new { userId = user.Id, code = code }, protocol: httpContext.Request.Scheme); EmailService emailService = new EmailService(); await emailService.SendEmailAsync(model.Email, "Letter", $"Для сброса пароля пройдите по ссылке: <a href='{codeUrl}'>link</a>"); }
public void Task_ForgetPasswodWrongEmail_Return_BadResult() { var controller = new UserAccountController(_userBusiness, _config); var data = new ForgetPassword { Email = "21325344" }; var expecteddata = controller.ForgetPassword(data); Assert.IsType <BadRequestObjectResult>(expecteddata); }
public ActionResult ResetPassword(ForgetPassword aForgetPassword) { if (Session["ValidUser"] != null) { if (aForgetPassword.LoginId != null && aForgetPassword.Role == "User") { aForgetPassword.NewPassword = Crypto.Hash(aForgetPassword.NewPassword); string message = aHomeManager.ChangeUserPassword(aForgetPassword); if (message == "Success") { Session["ValidUser"] = null; TempData["Message"] = "Hi! Your password has changed successfully. Please Login now!"; return(RedirectToAction("Login", "Register")); } else { ViewBag.ErrorMessage = message; } } if (aForgetPassword.LoginId != null && aForgetPassword.Role == "Doctor") { aForgetPassword.NewPassword = Crypto.Hash(aForgetPassword.NewPassword); string message = aHomeManager.ChangeDoctorPassword(aForgetPassword); if (message == "Success") { Session["ValidUser"] = null; TempData["Message"] = "Hello Doctor! Your password has changed successfully. Please Login now!"; return(RedirectToAction("Login", "Register")); } else { ViewBag.ErrorMessage = message; } } if (aForgetPassword.ContactPersonMobileNo != null) { aForgetPassword.NewPassword = Crypto.Hash(aForgetPassword.NewPassword); string message = aHomeManager.ChangeMedicalPassword(aForgetPassword); if (message == "Success") { Session["ValidUser"] = null; TempData["Message"] = "Your password has changed successfully. Please Login now!"; return(RedirectToAction("Login", "Register")); } else { ViewBag.ErrorMessage = message; } } ViewBag.ErrorMessage = "Something went wrong. Please try again!"; return(View()); } return(RedirectToAction("ForgetPassword", "Register")); }
public string ForgetPassword(ForgetPassword forget) { var result = this.userDbContext.Users.Where<UserRegistration>(user => user.Email == forget.Email).FirstOrDefault(); if (result != null) { string decode = Decryptdata(result.Password); this.msmq.AddToQueue(forget.Email); return "Success"; } return "Error"; }
public ForgetPassword ForgetPassword(ForgetPassword objForgetPassword) { string MobileNo; if (objForgetPassword.Action == "SendOTP") { string strQuery = string.Format("Select MobileNumber from Student where EnrollmentNo='{0}'", objForgetPassword.UserName); MobileNo = Convert.ToString(DGeneric.GetValue(strQuery)); if (string.IsNullOrEmpty(MobileNo)) { MobileNo = Convert.ToString(DGeneric.GetValue(String.Format("select Mobile from Users where UserName='******'", objForgetPassword.UserName))); if (string.IsNullOrEmpty(MobileNo)) { objForgetPassword.ConfirmOTP = "0"; } else { Random rand = new Random(); objForgetPassword.ConfirmOTP = rand.Next(0, 999999).ToString("D6"); string strMessage = "Your OTP is: " + objForgetPassword.ConfirmOTP; string response = DSMSGeneric.SendSingleSMS("8871171445", strMessage); objForgetPassword.UserTypeID = 1; } } else { Random rand = new Random(); objForgetPassword.ConfirmOTP = rand.Next(0, 999999).ToString("D6"); string strMessage = "Your OTP is: " + objForgetPassword.ConfirmOTP; string response = DSMSGeneric.SendSingleSMS("8871171445", strMessage); objForgetPassword.UserTypeID = 2; } } else if (objForgetPassword.Action == "UpdatePassword") { if (objForgetPassword.UserTypeID == 1) { string strQuery = string.Format("update users set UserPassword='******' where UserName='******'", objForgetPassword.NewPassword, objForgetPassword.UserName); DGeneric.ExecQuery(strQuery); objForgetPassword.Status = "Success"; } else if (objForgetPassword.UserTypeID == 2) { int StudentID = Convert.ToInt32(DGeneric.GetValue(String.Format("select StudentID from Student where EnrollmentNo='{0}'", objForgetPassword.UserName))); string strQuery = string.Format("update StudentAccount set Password='******' where StudentID='{1}'", objForgetPassword.NewPassword, StudentID); DGeneric.ExecQuery(strQuery); objForgetPassword.Status = "Success"; } } return(objForgetPassword); }
public ActionResult ForgotPassword(ForgetPassword changePassword) { // Get link for reset password changePassword.Link = GetLink(); var httplCient = Connector.GetHttpClient(); var stringContent = Connector.GetStringOfObject(changePassword); //Exception here try { var response = httplCient.PostAsync("Account/VerifyEmail", stringContent).Result; if (response.IsSuccessStatusCode) { var httplCient2 = Connector.GetHttpClient(); var stringContent2 = Connector.GetStringOfObject(changePassword); // Send email with change pasword link var response2 = httplCient2.PostAsync("Account/SendEmail", stringContent2).Result; var httpResponseContent2 = response2.Content.ReadAsStringAsync().Result; if (response2.IsSuccessStatusCode) { ViewBag.Message = "An email has been sent to you containing link to reset your password."; return(View()); } return(View(changePassword)); } else { ModelState.AddModelError("", "Email is not found! Enter correct Information"); } } catch (Exception ex) { if (ex.InnerException != null) { if (ex.InnerException.InnerException != null) { Log.Error(ex.InnerException.InnerException.Message, ex); } } else { Log.Error(ex.Message, ex); } ModelState.AddModelError("", "Server error, please try later"); return(View(changePassword)); } return(View(changePassword)); }
public ActionResult ForgotPassWord(ForgetPassword xyz) { if (objCon.Registration.Any(model => model.Email == xyz.Email)) { ForgotPassSentEmail(xyz); return(View()); } else { ModelState.AddModelError("Error", "Email Id does not exists"); return(View()); } }