Ejemplo n.º 1
0
        public ActionResult ResetPassword(string id)
        {
            //Verify the reset password link
            //Find account associated with this link
            //redirect to reset password page
            if (string.IsNullOrWhiteSpace(id))
            {
                return(HttpNotFound());
            }

            using (var context = new Models.db())
            {
                var user = context.myusers.Where(a => a.ResetPasswordCode == id).FirstOrDefault();
                if (user != null)
                {
                    ResetPasswordModel model = new ResetPasswordModel();
                    model.ResetCode = id;
                    return(View(model));
                }
                else
                {
                    return(HttpNotFound());
                }
            }
        }
Ejemplo n.º 2
0
        public ActionResult ResetPassword(ResetPasswordModel model)
        {
            var message = "";

            //if (ModelState.IsValid)
            //{
            using (var context = new Models.db())
            {
                var user = context.myusers.Where(a => a.ResetPasswordCode == model.ResetCode).FirstOrDefault();
                if (user != null)
                {
                    //you can encrypt password here, we are not doing it
                    user.Password = model.NewPassword;
                    //make resetpasswordcode empty string now
                    user.ResetPasswordCode = "";
                    //to avoid validation issues, disable it
                    context.Configuration.ValidateOnSaveEnabled = false;
                    context.SaveChanges();
                    message = "New password updated successfully";
                }
                //}
            }
            //else
            //{
            //    message = "Something invalid";
            //}
            ViewBag.Message = message;
            return(View(model));
        }
Ejemplo n.º 3
0
        public ActionResult ForgotPassword(string EmailID)
        {
            string resetCode = Guid.NewGuid().ToString();
            var    verifyUrl = "/Account/ResetPassword/" + resetCode;
            var    link      = Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery, verifyUrl);

            using (var context = new Models.db())
            {
                var getUser = (from s in context.myusers where s.Email == EmailID select s).FirstOrDefault();
                if (getUser != null)
                {
                    getUser.ResetPasswordCode = resetCode;

                    //This line I have added here to avoid confirm password not match issue , as we had added a confirm password property

                    context.Configuration.ValidateOnSaveEnabled = false;
                    context.SaveChanges();

                    var subject = "Password Reset Request";
                    var body    = "Hi " + getUser.NameFamily + ", <br/> You recently requested to reset your password for your account. Click the link below to reset it. " +

                                  " <br/><br/><a href='" + link + "'>" + link + "</a> <br/><br/>" +
                                  "If you did not request a password reset, please ignore this email or reply to let us know.<br/><br/> Thank you";

                    SendEmail(getUser.Email, body, subject);

                    ViewBag.Message = "Reset password link has been sent to your email id.";
                }
                else
                {
                    ViewBag.Message = "User doesn't exists.";
                    return(View());
                }
            }

            return(View());
        }