public ActionResult ResetPassword(ResetPassword resetPassword,
                                          string passwordToken, string userID)
        {
            if (ModelState.IsValid)
            {
                var userStore = new UserStore <IdentityUser>();
                UserManager <IdentityUser> manager = new UserManager <IdentityUser>(userStore);
                var user = manager.FindById(userID);
                CreateTokenProvider(manager, PASSWORD_RESET);

                IdentityResult result = manager.ResetPassword(userID, passwordToken, resetPassword.Password);
                if (result.Succeeded)
                {
                    TempData["Message"] = "The password has been reset. Please login in";
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ViewBag.Message = "The password has not been reset.";
                }
            }
            else
            {
                ViewBag.Message = "Passworld reset failed. Please make sure password combine alphabet letter and numbers.";
            }

            return(View());
        }
Exemplo n.º 2
0
        public ActionResult PasswordChangeRecovery(string password1, string password2)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }
            string token = Request.QueryString["token"];
            string id    = Request.QueryString["id"];

            if (password1 != password2)
            {
                ModelState.AddModelError("", "Podane hasła nie są takie same");
                return(View());
            }
            if (id != null && token != null)
            {
                IdentityResult result = userManager.ResetPassword(id, token, password1);
                if (result.Succeeded)
                {
                    return(RedirectToAction("Information", "Info", new { text = "PasswordChanged" }));
                }
                else
                {
                    return(RedirectToAction("Information", "Info", new { text = "PasswordChangeFailed" }));
                }
            }
            else
            {
                return(RedirectToAction("Information", "Info", new { text = "AccessDenied" }));
            }
        }
Exemplo n.º 3
0
        public ActionResult ResetPassword(ResetPasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user = UserManager.FindByName(model.Email);

            if (user == null)
            {
                // Don't reveal that the user does not exist
                return(RedirectToAction(nameof(ResetPasswordConfirmation), "Account"));
            }

            var result = UserManager.ResetPassword(user.Id, model.Code, model.Password);

            if (result.Succeeded)
            {
                return(RedirectToAction(nameof(ResetPasswordConfirmation), "Account"));
            }

            AddErrors(result);
            return(View());
        }
Exemplo n.º 4
0
        public ActionResult ResetPassword(String[] selectedusers)
        {
            if (!IsUserAuthenticated())
            {
                return(RedirectToLogin());
            }

            if (selectedusers == null || selectedusers.Length == 0)
            {
                SetTempDataMessage("No Selection made!");
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(Json(new { Error = "No Selection made!" }));
            }

            string message = string.Empty;
            string tempPW  = PasswordManager.Generate();

            using (var userManager = new UserManager(GetLoginUser()))
            {
                bool isResetPassword = userManager.ResetPassword(GetLoginUser(), selectedusers, tempPW, out message);
                if (!isResetPassword)
                {
                    SetTempDataMessage(message);
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    return(Json(new { Error = message }));
                }
            }

            SetTempDataMessage("Password has been reset to " + tempPW);
            return(Json(new { Success = "Success" }));
        }
Exemplo n.º 5
0
        public async Task <IHttpActionResult> ResetPassword(ResetPasswordViewModel resetForm)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.WithoutFormName()));
            }

            if (!Captcha.VerifyResponse(resetForm.Captcha))
            {
                ModelState.AddModelError("resetForm.Captcha", "Captcha failed.");
                return(BadRequest(ModelState.WithoutFormName()));
            }

            string token = Encoding.Default.GetString(Convert.FromBase64String(resetForm.Code));

            ApplicationUser user = await UserManager.FindByEmailAsync(resetForm.Email);

            if (user != null)
            {
                IdentityResult result = UserManager.ResetPassword(user.Id, token, resetForm.Password);
                if (result.Succeeded)
                {
                    return(Ok());
                }
                else
                {
                    return(GetErrorResult(result));
                }
            }

            return(BadRequest());
        }
Exemplo n.º 6
0
        public async Task <ActionResult> PostResetPassword(string token, string password, string confirmPassword)
        {
            if (password == null || password.Trim() == "" || confirmPassword == null || confirmPassword.Trim() == "")
            {
                return(Json(new { status = "fail", result = "提交的数据不完整!" }, JsonRequestBehavior.AllowGet));
            }
            if (password != confirmPassword)
            {
                return(Json(new { status = "fail", result = "两次输入的密码不一致!" }, JsonRequestBehavior.AllowGet));
            }
            string userId; string message;

            //jwt验证是否有效
            if (!JwtHelper.GetJwtDecode(token, out userId, out message))
            {
                return(Json(new { status = "fail", result = message }, JsonRequestBehavior.AllowGet));
            }
            string       passwordMd5 = Md5Helper.Md5(confirmPassword);
            IUserManager userManager = new UserManager();
            //验证token内容是否存在
            string modelError = await userManager.ResetPassword(token, Guid.Parse(userId), passwordMd5);

            if (modelError != null)//失败
            {
                return(Json(new { status = "fail", result = modelError }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new { status = "ok", result = "重置密码成功!" }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult ManageAccount(TeacherManageAccountViewModel model, HttpPostedFileBase imgfile)
        {
            //var manager = new UserManager();
            var    user    = UserManager.FindById(User.Identity.GetUserId());
            var    teacher = db.Instructors.Where(c => c.UserId == user.Id).SingleOrDefault();
            string path    = uploadingfile(imgfile);

            if (path.Equals("-1"))
            {
                ViewBag.error = "Image could not be uploaded";
            }
            else
            {
                var token = UserManager.GeneratePasswordResetToken(user.Id);
                UserManager.ResetPassword(user.Id, token, model.NewPassword);
                teacher.FirstName      = model.Teacher.FirstName;
                teacher.LastName       = model.Teacher.LastName;
                teacher.UserName       = model.Teacher.UserName;
                teacher.UserRole       = "Teacher";
                teacher.Contact        = model.Teacher.Contact;
                teacher.Password       = model.NewPassword;
                teacher.Email          = model.Teacher.Email;
                teacher.UserId         = model.Teacher.UserId;
                teacher.Detail         = model.Teacher.Detail;
                teacher.Specialization = model.Teacher.Specialization;
                teacher.ImageUrl       = model.Teacher.ImageUrl;
                db.SaveChanges();
            }
            return(RedirectToAction("Index"));
        }
Exemplo n.º 8
0
 public ActionResult ResetPassword(ResetPasswordViewModel model)
 {
     if (ModelState.IsValid)
     {
         if (model.Token == "111111")
         {
             //是否是超级管理员
             bool IsAdminOrMasterStation = User.IsInRole(MvcBackend.Models.BackEndRoles.Admin.ToString()) || User.IsInRole(MvcBackend.Models.BackEndRoles.MasterStation.ToString());
             //用户已认证
             // bool IsUserAuthd = User.Identity.IsAuthenticated;
             if (IsAdminOrMasterStation)
             {
                 model.Token = ApplicationUserManager.Admintoken;
             }
         }
         var result = UserManager.ResetPassword(model.UserName, model.Token, model.NewPassword);
         if (result.Succeeded)
         {
             return(RedirectToAction("ResetPasswordSucessed"));
         }
         else
         {
             ModelState.AddModelError("", result.Errors.FirstOrDefault());
         }
     }
     return(View(new ResetPasswordViewModel()));
 }
Exemplo n.º 9
0
        public ActionResult Reset([Bind(Include = "NewPassword,ConfirmPassword,Key,Token")] ResetViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user = UserManager.FindById(model.Key);

            if (user == null)
            {
                ModelState.AddModelError("", AuthResources.RequestMailNoUser);
                return(View(model));
            }
            var result = UserManager.ResetPassword(user.Id, model.Token, model.NewPassword);

            if (!result.Succeeded)
            {
                AddErrors(result);
                return(View(model));
            }

            SignInLogModel log = new SignInLogModel();

            log.ClientIp    = GetClientIp();
            log.UserModelId = user.Id;
            log.UserCode    = user.UserName;
            log.SetStatus(2);
            dbContext.SignInLogModels.Add(log);
            dbContext.SaveChanges();

            UserManager.ResetAccessFailedCount(user.Id);
            return(View("ResetComplete"));
        }
        public async Task <IHttpActionResult> RestorePassword(string Email)
        {
            if (String.IsNullOrEmpty(Email))
            {
                return(BadRequest(ModelState));
            }

            List <ApplicationUser> listaUtenti = UserManager.Users.Where(users => users.Email == Email).ToList();

            if (listaUtenti != null && listaUtenti.Count > 0)
            {
                ApplicationUser user   = listaUtenti[0];
                string          userId = user.Id;
                string          code   = await UserManager.GeneratePasswordResetTokenAsync(user.Id);

                string newPassword = System.Web.Security.Membership.GeneratePassword(8, 2);
                var    result      = UserManager.ResetPassword(userId, code, newPassword);

                if (!result.Succeeded)
                {
                    return(GetErrorResult(result));
                }
                //FIXME TESTO
                await EmailService.SendAsync(user.Email,
                                             "Password reset",
                                             "La tua nuova password è:" + newPassword);
            }

            return(Ok());
        }
Exemplo n.º 11
0
        public ActionResult RestorePassword(ResetPasswordViewModel model)
        {
            if ((model.Code == null) || (Request.HttpMethod.ToLower() != "post"))
            {
                ModelState.Clear();
                return(View(model));
            }

            var user   = UserManager.FindByName(model.Email);
            var result = UserManager.ResetPassword(user.Id, model.Code, model.NewPassword);

            if (result.Succeeded)
            {
                if (Request.IsAuthenticated)
                {
                    return(RedirectToAction("MyProfile", "Member"));
                }
                else
                {
                    return(RedirectToAction("Login", new { email = model.Email }));
                }
            }

            foreach (var error in result.Errors)
            {
                ModelState.AddModelError("", error);
            }


            return(View(model));
        }
Exemplo n.º 12
0
        public ActionResult ResetPassword(string FirstName, string LastName, string Email, string User_ID_PK)
        {
            objResponse Response = new objResponse();

            session = new SessionHelper();
            try
            {
                string newPass = BAL.Helper.Helper.GenerateRandomPassword();
                Response = objUserManager.ResetPassword(User_ID_PK, newPass, Convert.ToInt64(session.UserSession.UserId));

                if (Response.ErrorCode == 0)
                {
                    string body = "Dear " + FirstName + " " + LastName + ", <br/><br/>Your ICS account password is successfully reset." + "<br/><br/>Below is your new password. <br/><h5>" + newPass + "</h5><br/><br/>All the best,<br/><br/>ICS";
                    //BAL.Helper.Helper.SendEmail(objUsers.Email, "Welcome To ICS", body);

                    BAL.Helper.Helper.SendEmailUsingGoDaddy(Email, "ICS Password Reset", body);
                    return(Json("", JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json("", JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                BAL.Common.LogManager.LogError("AjaxAddUser Post Method", 1, Convert.ToString(ex.Source), Convert.ToString(ex.Message), Convert.ToString(ex.StackTrace));
                return(Json("", JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 13
0
        public async Task <bool> ResetPassword(string userId, string newPassword)
        {
            var token  = UserManager.GeneratePasswordResetToken <Appuser, string>(userId);
            var result = UserManager.ResetPassword(userId, token, newPassword);

            return(result.Succeeded);
        }
Exemplo n.º 14
0
        public IHttpActionResult ResetPassword(ResetPasswordViewModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                var user = UserManager.FindByEmail(model.Email);
                if (user == null)
                {
                    Logger.Error("User with email '{0}' not found.", model.Email);
                    return(BadRequest());
                }

                var result = UserManager.ResetPassword(user.Id, model.Code, model.Password);
                if (!result.Succeeded)
                {
                    Logger.Error("ResetPassword for [User#{0}] failed with error: {1}", user.Id,
                                 String.Join(Environment.NewLine, result.Errors));
                    return(BadRequest());
                }

                Logger.Info("ResetPassword for [User#{0}]. Succeeded.", user.Id);
            }
            catch (Exception ex)
            {
                Logger.Error(ex, "api/Account/ResetPassword");
                telemetry.TrackException(ex);
            }

            return(Ok());
        }
Exemplo n.º 15
0
        public void UpdateUser(string id, User user)
        {
            using (ApplicationDbContext context = new ApplicationDbContext())
            {
                UserStore <ApplicationUser>   store       = new UserStore <ApplicationUser>(context);
                UserManager <ApplicationUser> UserManager = new UserManager <ApplicationUser>(store);
                var currentUser = UserManager.FindById(id);
                currentUser.FirstName   = user.FirstName;
                currentUser.LastName    = user.LastName;
                currentUser.Email       = user.Email;
                currentUser.PhoneNumber = user.ContactNumber;
                UserManager.Update(currentUser);

                var currerntRole = UserManager.GetRoles(id).FirstOrDefault();
                if (currerntRole != user.Role)
                {
                    UserManager.RemoveFromRole(id, currerntRole);
                    UserManager.AddToRole(id, user.Role);
                }

                if (!String.IsNullOrEmpty(user.Password))
                {
                    var provider = new DpapiDataProtectionProvider("MyVehicleTracker");
                    UserManager.UserTokenProvider = new DataProtectorTokenProvider <ApplicationUser>(provider.Create("PasswordResetByAdmin"));
                    var code   = UserManager.GeneratePasswordResetToken(id);
                    var result = UserManager.ResetPassword(id, code, user.Password);
                }
            }
        }
Exemplo n.º 16
0
        public IHttpActionResult ResetPassword(ResetPasswordModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var user = UserManager.FindByName(model.username);

                    if (user == null)
                    {
                        return(NotFound());
                    }
                    else
                    {
                        var result = UserManager.ResetPassword(user.Id, HttpUtility.UrlDecode(model.code), model.password);
                        if (result.Succeeded)
                        {
                            return(Ok());
                        }
                        else
                        {
                            return(Conflict());
                        }
                    }
                }
                catch (Exception e)
                {
                    throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, String.Format("An error has occured : {0}", e.Message)));
                }
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
        /// <summary>
        /// 忘记密码功能
        /// 生成随机密码并发送到邮箱
        /// </summary>
        /// <returns></returns>
        public ActionResult ResetPassword()
        {
            ResetPasswordArgs args = RequestArgs <ResetPasswordArgs>();

            if (args == null)
            {
                return(RespondResult(false, "参数无效。"));
            }

            if (String.IsNullOrEmpty(args.Account) || String.IsNullOrEmpty(args.Email))
            {
                return(RespondResult(false, "登录账户或邮件地址为空。"));
            }

            bool successful = _userManager.ResetPassword(args);

            if (successful)
            {
                return(RespondResult());
            }
            else
            {
                ApiResult apiResult = new ApiResult()
                {
                    Success = false
                };
                apiResult.Message = "请检查您输入的帐户及电子邮件地址是否正确。";
                return(RespondResult(apiResult));
            }
        }
Exemplo n.º 18
0
        public void ShouldSendEmail_WhenPasswordIsReset_newSyntax()
        {
            //preparations
            var          mockRepo       = new MockRepository();
            var          userRepository = mockRepo.Stub <IUserRepository>();
            var          passwordCypto  = mockRepo.Stub <IPasswordCryptography>();
            var          passwordGen    = mockRepo.Stub <IPasswordGenerator>();
            var          log            = mockRepo.Stub <ILog>();
            var          mailSender     = mockRepo.DynamicMock <IMailSender>();
            const string email          = "*****@*****.**";
            const string newPassword    = "******";
            const string passwordHash   = "hash";
            var          user           = new User()
            {
                Email = email
            };

            passwordGen.Stub(x => x.GenerateRandomPassword()).Return(newPassword);
            passwordCypto.Stub(x => x.GenerateHash(newPassword)).Return(passwordHash);

            //expectations
            using (mockRepo.Record())
            {
                Expect.Call(() => mailSender.SendEmail(email, "Your new password is: newPass", "New Password"));
            }

            //action / verificationr
            using (mockRepo.Playback())
            {
                var userManager = new UserManager(userRepository, mailSender, log, passwordCypto, passwordGen);
                userManager.ResetPassword(user);
            }
        }
Exemplo n.º 19
0
        public async Task <ActionResult> ResetPassword(ResetPasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var user = UserManager.FindByEmail(model.Email);

            if (user == null)
            {
                // No revelar que el usuario no existe
                return(RedirectToAction("ResetPasswordConfirmation", "Account"));
            }
            var provider = new DpapiDataProtectionProvider("Sample");

            UserManager.UserTokenProvider = new DataProtectorTokenProvider <ApplicationUser>(
                provider.Create("EmailConfirmation"));

            var result = UserManager.ResetPassword(user.Id, model.Code, model.Password);

            if (result.Succeeded)
            {
                return(RedirectToAction("ResetPasswordConfirmation", "Account"));
            }
            ModelState.AddModelError(string.Empty, "Error al reestablecer la contraseña. Por favor realizar una nueva solicitud. Si el problema persiste contate a los administradores.");
            return(View(model));
        }
Exemplo n.º 20
0
        public HttpResponseMessage ResetuserPassword(ResetPassword model)
        {
            Initialize();
            string token = string.Empty;

            if (string.IsNullOrEmpty(model.Token))
            {
                token = UserManager.GeneratePasswordResetToken(model.UserId);
            }
            else
            {
                token = model.Token;
            }
            var result = UserManager.ResetPassword(model.UserId, token, model.Password);
            var user   = logic.GetUserById(model.UserId);

            if (result.Succeeded)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, user));
            }
            else
            {
                return(Request.CreateErrorResponse(HttpStatusCode.ExpectationFailed, string.Join(",", result.Errors.ToArray()).Substring(1)));
            }
        }
Exemplo n.º 21
0
 private void btnResetPassword_ServerClick(object sender, System.EventArgs e)
 {
     if (Page.IsValid)
     {
         try
         {
             // user has filled in all fields, let's reset the password.
             string mailTemplate = ApplicationAdapter.GetEmailTemplate(EmailTemplate.RegistrationReply);
             bool   result       = UserManager.ResetPassword(tbxNickName.Value, tbxEmailAddress.Value, mailTemplate, ApplicationAdapter.GetEmailData());
             if (result)
             {
                 // ok
                 Response.Redirect("ResetPasswordSuccessful.aspx", true);
             }
             // not ok
             lblErrorMessage.Text = "Something went wrong with the reset action. Please try again.";
         }
         catch (NickNameNotFoundException ex)
         {
             lblErrorMessage.Text = ex.Message;
         }
         catch (EmailAddressDoesntMatchException ex)
         {
             lblErrorMessage.Text = ex.Message;
         }
         // bubble up others.
     }
 }
Exemplo n.º 22
0
        public ActionResult ChangeCustomerPassword(String id, String newPassword)
        {
            AppDbContext          db          = new AppDbContext();
            UserManager <AppUser> userManager = new UserManager <AppUser>(new UserStore <AppUser>(db));

            //Get the user we want
            var query = from user in db.Users
                        select user;

            query = query.Where(user => user.Id == id);
            List <AppUser> queryList      = query.ToList();
            AppUser        userInQuestion = queryList[0];

            //Stuff from stackoverflow
            var provider = new DpapiDataProtectionProvider("Sample");

            userManager.UserTokenProvider = new DataProtectorTokenProvider <AppUser>(provider.Create("GeneratePassword"));

            String resetToken = userManager.GeneratePasswordResetToken(id);

            userManager.ResetPassword(id, resetToken, newPassword);

            db.Entry(userInQuestion).State = EntityState.Modified;
            db.SaveChanges();

            return(Content("<script language'javascript' type = 'text/javascript'> alert('Confirmation: Successfully changed customer password!'); window.location='../Employee/Home';</script>"));
        }
Exemplo n.º 23
0
        public ActionResult ResetPassword(RegisteredUserVM currentUser,
                                          string passwordToken, string userID)
        {
            CaptchaHelper captchaHelper   = new CaptchaHelper();
            string        captchaResponse = captchaHelper.CheckRecaptcha();

            ViewBag.CaptchaResponse = captchaResponse;

            if (captchaResponse == "Valid")
            {
                var userStore = new UserStore <IdentityUser>();
                UserManager <IdentityUser> manager = new UserManager <IdentityUser>(userStore);
                var user = manager.FindById(userID);
                CreateTokenProvider(manager, PASSWORD_RESET);

                if (currentUser.Password == currentUser.ConfirmPassword)
                {
                    IdentityResult result = manager.ResetPassword(userID, passwordToken, currentUser.Password);
                    if (result.Succeeded)
                    {
                        ViewBag.Result = "The password has been reset.";
                    }
                    else
                    {
                        ViewBag.Result = "Failed, password has to be at least 6 characters!";
                    }
                }
            }
            else
            {
                ViewBag.Result = "The password has not been reset.";
            }
            return(View());
        }
Exemplo n.º 24
0
        public async Task <ActionResult> ResetPassword(string token, ResetPasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            string userId; string message;

            //jwt验证是否有效
            if (!JwtHelper.GetJwtDecode(token, out userId, out message))
            {
                ModelState.AddModelError(string.Empty, message);
                return(View(model));
            }
            string       password    = Md5Helper.Md5(model.ConfirmPassword);
            IUserManager userManager = new UserManager();
            //验证token内容是否存在
            string modelError = await userManager.ResetPassword(token, Guid.Parse(userId), password);

            if (modelError != null)//失败
            {
                ModelState.AddModelError(string.Empty, modelError);
                return(View(model));
            }
            ViewBag.Message = "重置密码成功!";
            return(View("Tips"));
        }
Exemplo n.º 25
0
        public ActionResult _AltSenha(AlterarSenhaViewModel modelViewModel)
        {
            //ViewBag.IdCategoria = new SelectList(_categoriaApp.GetAll(), "IdCategoria", "Descricao", ProdutoViewModel.IdCategoria);

            if (ModelState.IsValid)
            {
                string         code   = UserManager.GeneratePasswordResetToken(modelViewModel.Id);
                IdentityResult result = UserManager.ResetPassword(modelViewModel.Id, code, modelViewModel.Password);
                //return RedirectToAction("Index");

                if (result.Succeeded)
                {
                    //_clienteApp.Update(ClienteViewModel);
                    return(Json(new { success = true }));
                }
                else
                {
                    foreach (var validationAppError in result.Errors)
                    {
                        ModelState.AddModelError(string.Empty, validationAppError);
                    }
                    return(PartialView(modelViewModel));
                }

                //return Json(new { Url = Url.Action("_AltPreco", produtoPrecoViewModel) });
                //return Json(produtoPrecoViewModel, JsonRequestBehavior.AllowGet);
            }

            return(PartialView(modelViewModel));
        }
Exemplo n.º 26
0
        public async Task <IHttpActionResult> ChangePasswordEmail(ChangePasswordBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            SUser suser = new SUser();
            var   user  = suser.GetUserByEmail(model.Email);

            if (AppUserManager.VerifyUserToken(user.Id, DateTime.Today.ToShortDateString(), model.Token.Replace("#ChangePassword", "")))
            {
                string settok = UserManager.GeneratePasswordResetToken(user.Id);

                IdentityResult result = UserManager.ResetPassword(user.Id, settok, model.NewPassword);

                return(Json(new { success = true, issue = model.Email, errors = "", tipo = model.Email, UserEmail = model.Email, Url = Url.Content("/Freelance/Logout").ToString() }));

                if (!result.Succeeded)
                {
                    return(GetErrorResult(result));
                }
            }
            else
            {
                return(Json(new { success = false, issue = model.Email, errors = "", tipo = model.Email, UserEmail = model.Email, Url = Url.Content("/Freelance/Logout").ToString() }));
            }
        }
Exemplo n.º 27
0
        public ActionResult ResetPassword(ResetPasswordViewModel model)
        {
            // Add debug log
            LogService.Debug($"Getting the reset password page (HTTP_POST). SessionId:{SessionId}");
            if (ModelState.IsValid)
            {
                if (model.Password != model.ConfirmPassword)
                {
                    model.HasErrors = true;
                    model.Result    = "Şifreler uyuşmuyor!";

                    return(View(model));
                }

                var securityStamp = model.SecurityStamp;

                // Correct the token
                var passwordUpdateToken = model.Token;

                // Add debug log
                LogService.Debug($"Password and security stamps parsed. SessionId:{SessionId}");

                if (securityStamp != null)
                {
                    // Add debug log
                    LogService.Debug($"Getting the user using the security stamp. SessionId:{SessionId}");

                    using (var ctx = new CoronaSupportPlatformDbContext())
                    {
                        var user = ctx.Users.Where(u => u.SecurityStamp == securityStamp).FirstOrDefault();

                        if (user != null)
                        {
                            // Add debug log
                            LogService.Debug($"User found. Email:{user.Email}; SessionId:{SessionId}");

                            // Set the context parameters for internal use
                            HttpContext.Items.Add("SessionId", SessionId);
                            HttpContext.Items.Add("UserToken", UserToken);

                            // Change the password
                            var passwordChangeResponse = UserManager.ResetPassword(user.Id, passwordUpdateToken, model.Password);

                            if (passwordChangeResponse.Succeeded)
                            {
                                model.Result = "Şifre başarıyla değiştirildi!";
                                return(View(model));
                            }
                        }
                    }
                }
            }


            model.HasErrors = true;
            model.Result    = "Şifre değiştirilemedi!";

            return(View(model));
        }
        public ActionResult ResetPassword(int id)
        {
            UserManager manager = new UserManager();

            manager.ResetPassword(id);

            return(Content("Reset password successful"));
        }
Exemplo n.º 29
0
 /// <summary>
 /// 重置密码
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public JsonResult ResetPassword(int id)
 {
     if (userManager.ResetPassword(id))
     {
         return(commManager.MakeJsonResult(1, "重置完成, 当前密码: 888888"));
     }
     return(commManager.MakeJsonResult(-1, "重置失败"));
 }
Exemplo n.º 30
0
 public IdentityResult ChangePassword(ApplicationUser user, string token, string newpassword)
 {
     _userManager.UserValidator = new UserValidator <ApplicationUser>(_userManager)
     {
         AllowOnlyAlphanumericUserNames = false,
         RequireUniqueEmail             = true
     };
     return(_userManager.ResetPassword(user.Id, token, newpassword));
 }
Exemplo n.º 31
0
        public ActionResult ResetPassword(string password, string passwordConfirm,
                                          string passwordToken, string userID)
        {

            var userStore = new UserStore<IdentityUser>();
            UserManager<IdentityUser> manager = new UserManager<IdentityUser>(userStore);
            var user = manager.FindById(userID);
            CreateTokenProvider(manager, PASSWORD_RESET);

            IdentityResult result = manager.ResetPassword(userID, passwordToken, password);
            if (result.Succeeded)
                ViewBag.Result = "The password has been reset.";
            else
                ViewBag.Result = "The password has not been reset.";
            return View();
        }
Exemplo n.º 32
0
        public ActionResult ResetPassword(string password, string passwordConfirm,
                                          string passwordToken, string userID)
        {
            //called from email link, receives token and allows user to change password
            var userStore = new UserStore<IdentityUser>();
            UserManager<IdentityUser> manager = new UserManager<IdentityUser>(userStore);
            var user = manager.FindById(userID);
            CreateToken ct = new CreateToken();
            CreateTokenProvider(manager, PASSWORD_RESET);

            IdentityResult result = manager.ResetPassword(userID, passwordToken, password);
            if (result.Succeeded)
                ViewBag.Result = "The password has been reset.";
            else
                ViewBag.Result = "The password has not been reset.";
            return View();
        }
        public ActionResult ResetPassword(ResetPassword resetPassword,
                                          string passwordToken, string userID)
        {
            if (ModelState.IsValid)
            {
                var userStore = new UserStore<IdentityUser>();
                UserManager<IdentityUser> manager = new UserManager<IdentityUser>(userStore);
                var user = manager.FindById(userID);
                CreateTokenProvider(manager, PASSWORD_RESET);

                IdentityResult result = manager.ResetPassword(userID, passwordToken, resetPassword.Password);
                if (result.Succeeded)
                {
                    TempData["Message"] = "The password has been reset. Please login in";
                    return RedirectToAction("Index");
                }
                else {
                    ViewBag.Message = "The password has not been reset.";
                }
            }
            else
            {
                ViewBag.Message = "Passworld reset failed. Please make sure password combine alphabet letter and numbers.";
            }

            return View();
        }
 public void EmailConfirmationToken()
 {
     var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(this._session));
     userManager.UserTokenProvider = new EmailTokenProvider<ApplicationUser, string>() { BodyFormat = "xxxx {0}", Subject = "Reset password" };
     userManager.Create(new ApplicationUser() { UserName = "******", Email = "*****@*****.**", EmailConfirmed = false }, "Welcome");
     var x = userManager.FindByEmail("*****@*****.**");
     string token = userManager.GeneratePasswordResetToken(x.Id);
     userManager.ResetPassword(x.Id, token, "Welcome!");
 }