Exemple #1
0
        public async Task <BaseDto> Handle(LoginCommand request, CancellationToken cancellationToken)
        {
            var dbManagerUser = await _managerUserRepository.GetManagerUserByUserNameAsync(request.UserName, cancellationToken);

            if (dbManagerUser == null)
            {
                return new BaseDto()
                       {
                           IsSuccess = false, Msg = "用户名不存在"
                       }
            }
            ;

            var inputPasswordMd5 = $"{request.Password}-shaomai-{dbManagerUser.Salt}".ToMd5();

            if (!dbManagerUser.Password.Equals(inputPasswordMd5, StringComparison.OrdinalIgnoreCase))
            {
                return new BaseDto()
                       {
                           IsSuccess = false, Msg = "密码错误"
                       }
            }
            ;

            await _httpAuthorizeHandler.SignInAsync(dbManagerUser.Id, cancellationToken);

            return(new BaseDto()
            {
                IsSuccess = true, Msg = "登录成功"
            });
        }
    }
}