Пример #1
0
        public async Task <ResultModel> ChangePassword([FromBody] UserForChangePassword userForChangePassword)
        {
            ResultModel result      = new ResultModel();
            var         accessToken = Request.Headers["Authorization"];

            //var user = await _TokenGetUserHelper.GetUser(accessToken);

            result = await _repo.ChangePassword(userForChangePassword);

            logger.Info("username="******"\nChangePassword " + result.Message);
            return(result);
        }
Пример #2
0
        public async Task <IActionResult> ChangePassword(int userId, UserForChangePassword userForChangePassword)
        {
            var user = await userManager.FindByIdAsync(userId.ToString());

            if (user == null)
            {
                return(NotFound("Could not find user."));
            }

            var changePassword = await userManager.ChangePasswordAsync(user, userForChangePassword.CurrentPassword, userForChangePassword.Password);

            if (changePassword.Succeeded)
            {
                return(Ok());
            }

            return(Unauthorized());
        }
Пример #3
0
        public IActionResult ChangePassword(string passwordtoken)
        {
            var instance = _userPasswordChangeService.GetById(Convert.ToInt32(Cryptology.Decrypt(passwordtoken)));

            if (instance != null && instance.Status == false)
            {
                var model = new UserForChangePassword
                {
                    Id               = instance.Id,
                    Email            = _userService.GetById(instance.UserId).Email,
                    NewPassword      = "",
                    NewPasswordAgain = ""
                };
                return(View(model));
            }

            return(NotFound());
        }
Пример #4
0
        public async Task <ResultModel> ChangePassword(UserForChangePassword user)
        {
            var result    = new ResultModel();
            var existuser = await _context.Users.FirstOrDefaultAsync(x => x.UserName == user.Username); //Get user from database.

            if (existuser == null)
            {
                result.IsSuccess = false;
                result.Message   = "User does not exist";
                return(result);
            }


            if (!VerifyPassword(user.Password, existuser.PasswordHash, existuser.PasswordSalt))
            {
                result.IsSuccess = false;
                result.Message   = "Password error.";
                return(result);
            }


            byte[] passwordHash, passwordSalt;
            CreatePasswordHash(user.NewPassword, out passwordHash, out passwordSalt);

            existuser.PasswordHash = passwordHash;
            existuser.PasswordSalt = passwordSalt;
            try
            {
                _context.Entry(existuser).CurrentValues.SetValues(existuser);
                result.IsSuccess = true;
                result.Message   = "Change password success, please login again.";
            }
            catch (Exception e) {
                result.IsSuccess = false;
                result.Message   = "DB error";
            }


            await _context.SaveChangesAsync(); // Save changes to database.

            return(result);
        }
Пример #5
0
        public IActionResult ChangePassword(UserForChangePassword userForChangePassword)
        {
            if (userForChangePassword.NewPassword != userForChangePassword.NewPasswordAgain)
            {
                return(RedirectToAction("ChangePassword", new { passwordtoken =
                                                                    Cryptology.Encrypt(userForChangePassword.Id.ToString()) }));
            }

            var changePassword = _userPasswordChangeService.GetById(userForChangePassword.Id);

            changePassword.Date   = DateTime.Now;
            changePassword.Status = true;
            _userPasswordChangeService.Update(changePassword);

            var user = _userService.GetById(changePassword.UserId);

            user.Password = userForChangePassword.NewPassword;
            _userService.Update(user);

            return(RedirectToAction("Login", "Auth"));
        }
Пример #6
0
        public async Task <IActionResult> ChangePassword(UserForChangePassword model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            ResultModel result = new ResultModel();
            var         data   = JsonConvert.SerializeObject(model);

            result = await _callApi.CallAPI(data, new Uri(_config["api"].ToString() + "/auth/ChangePassword"), "POST");

            TempData["IsSuccess"] = result.IsSuccess;
            TempData["msg"]       = result.Message;
            if (result.IsSuccess)
            {
                await HttpContext.SignOutAsync();

                return(RedirectToAction(nameof(Login)));
            }

            return(View());
        }