Exemplo n.º 1
0
        public async Task <BaseApiResponse> ResetPassword([FromBody] ResetPasswordRequest request)
        {
            var admin = _adminQueryService.Find(request.Id);

            if (admin == null)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "未找到账户"
                });
            }
            var pasword      = "Abc123456";
            var passwordHash = PasswordHash.CreateHash(pasword);
            var command      = new UpdatePasswordCommand(passwordHash)
            {
                AggregateRootId = request.Id
            };
            var result = await ExecuteCommandAsync(command);

            if (!result.IsSuccess())
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "命令没有执行成功:{0}".FormatWith(result.GetErrorMessage())
                });
            }
            return(new BaseApiResponse());
        }
Exemplo n.º 2
0
        public async Task <BaseApiResponse> ResetPassword(ResetPasswordRequest request)
        {
            var admin = _adminQueryService.Find(request.Id);

            if (admin == null)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "未找到账户"
                });
            }
            var pasword      = "Abc123456";
            var passwordHash = PasswordHash.CreateHash(pasword);
            var command      = new UpdatePasswordCommand(passwordHash)
            {
                AggregateRootId = request.Id
            };
            var result = await ExecuteCommandAsync(command);

            if (!result.IsSuccess())
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "命令没有执行成功:{0}".FormatWith(result.GetErrorMessage())
                });
            }

            //添加操作记录
            var currentAdmin = _contextService.GetCurrentAdmin(HttpContext.Current);

            RecordOperat(currentAdmin.AdminId.ToGuid(), "重置管理员密码", request.Id, "管理员:{0}".FormatWith(admin.Name));

            return(new BaseApiResponse());
        }
Exemplo n.º 3
0
        public void PasswordRequired()
        {
            var req = new UpdatePasswordCommand {
                NewPassword = ""
            };
            var validationResult = _validator.TestValidate(req);

            validationResult
            .ShouldHaveValidationErrorFor(x => x.NewPassword);
        }
Exemplo n.º 4
0
        public async Task <ActionResult> Update(string id, [FromBody] UpdatePasswordCommand command)
        {
            if (id != command.UserId)
            {
                return(BadRequest());
            }
            await Mediator.Send(command);

            return(NoContent());
        }
Exemplo n.º 5
0
        public Task ExecuteAsync(UpdatePasswordCommand message)
        {
            var user = _userRepository.GetById(message.Id);

            if (user == null)
            {
                throw new ArgumentNullException($"There is no user with that id - {message.Id}");
            }

            user.UpdatePassword(message.Password);
            return(Task.CompletedTask);
        }
Exemplo n.º 6
0
        public void PasswordRequireLength(string password)
        {
            var req = new UpdatePasswordCommand {
                NewPassword = password
            };

            var validationResult = _validator.TestValidate(req);

            validationResult
            .ShouldHaveValidationErrorFor(x => x.NewPassword)
            .WithErrorCode(ValidationErrorCodes.Password.LENGTH);
        }
Exemplo n.º 7
0
        public void PasswordRequireNonAlphanumeric(string password)
        {
            var req = new UpdatePasswordCommand {
                NewPassword = password
            };

            var validationResult = _validator.TestValidate(req);

            validationResult
            .ShouldHaveValidationErrorFor(x => x.NewPassword)
            .WithErrorCode(ValidationErrorCodes.Password.NON_ALPHANUMERIC);
        }
Exemplo n.º 8
0
        public async Task <BaseApiResponse> ChangePassword(ChangePasswordRequest request)
        {
            var currentAdmin = _contextService.GetCurrentAdmin(HttpContext.Current);

            var admin = _adminQueryService.Find(currentAdmin.AdminId.ToGuid());

            if (admin == null)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "未找到账户"
                });
            }
            //验证密码
            if (!PasswordHash.ValidatePassword(request.OldPassword, admin.Password))
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "原密码错误"
                });
            }
            if (request.OldPassword.Length > 20)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "密码长度不能大于20字符"
                });
            }
            if (request.OldPassword.Contains(" "))
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "密码不能包含空格."
                });
            }
            var passwordHash = PasswordHash.CreateHash(request.NewPassword);
            var command      = new UpdatePasswordCommand(passwordHash)
            {
                AggregateRootId = currentAdmin.AdminId.ToGuid()
            };
            var result = await ExecuteCommandAsync(command);

            if (!result.IsSuccess())
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "命令没有执行成功:{0}".FormatWith(result.GetErrorMessage())
                });
            }
            return(new BaseApiResponse());
        }
Exemplo n.º 9
0
        public async Task <BaseApiResponse> ChangePassword([FromBody] ChangePasswordRequest request)
        {
            var currentAccount = _contextService.GetCurrentAccount(HttpContext);
            var userInfo       = _userQueryService.FindUser(currentAccount.UserId.ToGuid());

            //验证密码
            if (!PasswordHash.ValidatePassword(request.OldPassword, userInfo.Password))
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "原密码错误"
                });
            }
            if (request.OldPassword.Length > 20)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "密码长度不能大于20字符"
                });
            }
            if (request.OldPassword.Contains(" "))
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "密码不能包含空格."
                });
            }
            var passwordHash = PasswordHash.CreateHash(request.NewPassword);
            var command      = new UpdatePasswordCommand(passwordHash)
            {
                AggregateRootId = userInfo.Id
            };
            var result = await ExecuteCommandAsync(command);

            if (!result.IsSuccess())
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "命令没有执行成功:{0}".FormatWith(result.GetErrorMessage())
                });
            }


            return(new BaseApiResponse());
        }
Exemplo n.º 10
0
 public void UpdateUserPassword([FromServices] UpdatePasswordCommand command, [FromBody] UpdatePasswordInput input)
 {
     command.Execute(input);
 }