コード例 #1
0
        public async Task ChangePassword_CanWorkCorrectly()
        {
            // arrange
            _captchaServiceClient.Return = new CaptchaServiceValidateResult
            {
                Correct      = true,
                ErrorMessage = null,
            };
            await _accountAppService.Register(new RegisterInput
            {
                UserName    = "******",
                Password    = "******",
                CaptchaId   = "a",
                CaptchaText = "a",
            });

            var result = await _logInManager.LoginAsync("user1", "password1", AbpTenantBase.DefaultTenantName);

            result.Result.Should().Be(AbpLoginResultType.Success);

            // act
            LoginAsTenant(AbpTenantBase.DefaultTenantName, "user1");
            await _accountAppService.ChangePassword(new ChangePasswordInput
            {
                CurrentPassword = "******",
                NewPassword     = "******",
            });

            // assert
            (await _logInManager.LoginAsync("user1", "password2", AbpTenantBase.DefaultTenantName))
            .Result.Should().Be(AbpLoginResultType.Success);
            (await _logInManager.LoginAsync("user1", "password1", AbpTenantBase.DefaultTenantName))
            .Result.Should().Be(AbpLoginResultType.InvalidPassword);
        }
コード例 #2
0
        public async Task <IActionResult> ChangePassword(ChangePasswordViewModel changePassword)
        {
            var result = new ResultEntity();

            ViewBag.ChangePasswordFlag = 0;
            if (ModelState.IsValid)
            {
                result = await _accountAppService.ChangePassword(changePassword.Id, changePassword.Password, changePassword.OldPassword);
            }
            else
            {
                result.Message = ModelState.Values.FirstOrDefault(a => a.ValidationState == ModelValidationState.Invalid)?.Errors.FirstOrDefault()?.ErrorMessage;
            }

            return(Json(result));
        }