Ejemplo n.º 1
0
        public ActionResult Password(newPassword form)
        {
            var user = Database.Session.Query <User>().FirstOrDefault(x => x.pseudo == User.Identity.Name);

            if (form.password == null)
            {
                form.password = "";
            }
            if (!user.CheckPassword(form.password))
            {
                ModelState.AddModelError("Mot de Passe", "Le mot de passe est incorrect");
            }
            if (form.passwordConfirm != form.passwordNew)
            {
                ModelState.AddModelError("Mot de Passe", "Les deux mot de passe ne sont pas identique");
            }
            if (form.passwordConfirm == "" || form.passwordNew == "" || form.password == "")
            {
                ModelState.AddModelError("Mot de Passe", "Tout les champs sont requis");
            }
            if (!ModelState.IsValid)
            {
                return(View(form));
            }

            user.SetPassword(form.passwordNew);
            Database.Session.Update(user);
            Database.Session.Flush();

            FormsAuthentication.SignOut();
            return(RedirectToRoute("login"));
        }
Ejemplo n.º 2
0
        // if reset phase 01 pass then manager can reset password form this function
        public async Task <IActionResult> ResetPassword([FromBody] newPassword updatedData)
        {
            try
            {
                var updatedUser = await _repository.User.GetUserByUserName(updatedData.UserName);

                var data   = Encoding.ASCII.GetBytes(updatedData.NewPassword);
                var sha1   = new SHA1CryptoServiceProvider();
                var hashed = sha1.ComputeHash(data);

                updatedUser.PasswordHash = System.Text.Encoding.UTF8.GetString(hashed);

                _repository.User.ResetPassword(updatedUser);
                await _repository.Save();

                return(StatusCode(201, "201 Updated"));
            }
            catch (Exception)
            {
                return(StatusCode(500, "Something Went wrong"));
            }
        }