/// <summary>
        /// 忘记密码功能
        /// 生成随机密码并发送到邮箱
        /// </summary>
        /// <returns></returns>
        public ActionResult ResetPassword()
        {
            ResetPasswordArgs args = RequestArgs <ResetPasswordArgs>();

            if (args == null)
            {
                return(RespondResult(false, "参数无效。"));
            }

            if (String.IsNullOrEmpty(args.Account) || String.IsNullOrEmpty(args.Email))
            {
                return(RespondResult(false, "登录账户或邮件地址为空。"));
            }

            bool successful = _userManager.ResetPassword(args);

            if (successful)
            {
                return(RespondResult());
            }
            else
            {
                ApiResult apiResult = new ApiResult()
                {
                    Success = false
                };
                apiResult.Message = "请检查您输入的帐户及电子邮件地址是否正确。";
                return(RespondResult(apiResult));
            }
        }
        public ActionResult ResetPassword()
        {
            ResetPasswordArgs resetPasswordArgs = RequestArgs <ResetPasswordArgs>();

            if (resetPasswordArgs == null)
            {
                return(RespondResult(false, "参数无效。"));
            }
            if (_userManager.ResetPassword(resetPasswordArgs))
            {
                return(RespondResult());
            }
            ApiResult apiResult = new ApiResult
            {
                Success = false
            };

            apiResult.Message = "请检查您输入的帐户及电子邮件地址是否正确。";
            return(RespondResult(apiResult));
        }
        public bool ResetPassword(ResetPasswordArgs args)
        {
            Random radom       = new Random(DateTime.Now.Second);
            int    newPassword = radom.Next(10000, 100000);

            List <CommandParameter> parameterList = new List <CommandParameter>();

            parameterList.Add(new CommandParameter("@account", args.Account));
            parameterList.Add(new CommandParameter("@email", args.Email));
            parameterList.Add(new CommandParameter("@password", IOHelper.GetMD5HashFromString(newPassword.ToString())));

            int rowsCount = _dataBase.ExecuteNonQuery(
                "UPDATE [User] Set [Password] = @password WHERE [Removed] = 0 AND [Account] = @account AND [Email] = @email",
                parameterList);

            if (rowsCount == 1)
            {
                //发邮件
                MailMessage mailMessage = new MailMessage();
                mailMessage.From = new MailAddress("*****@*****.**");
                mailMessage.To.Add(new MailAddress(args.Email));

                mailMessage.Subject = String.Format("您的密码已重置");

                string strBody = String.Format(@"<b>您的密码已重置</b><br/>
                            帐户:{0}<br/>
                            密码:{1}<br/>
                            登录地址:http://wxcm.shengxunwei.com<br/>
                            ", args.Account, newPassword);

                mailMessage.Body       = strBody;
                mailMessage.IsBodyHtml = true;

                SmtpService.Instance.Send(mailMessage);
            }

            return(rowsCount == 1);
        }
Beispiel #4
0
        public bool ResetPassword(ResetPasswordArgs args)
        {
            int num = new Random(DateTime.Now.Second).Next(10000, 100000);
            List <CommandParameter> list = new List <CommandParameter>();

            list.Add(new CommandParameter("@account", args.Account));
            list.Add(new CommandParameter("@email", args.Email));
            list.Add(new CommandParameter("@password", IOHelper.GetMD5HashFromString(num.ToString())));
            int num2 = this._dataBase.ExecuteNonQuery("UPDATE [User] Set [Password] = @password WHERE [Account] = @account AND [Email] = @email", list);

            if (num2 == 1)
            {
                MailMessage mailMessage = new MailMessage();
                mailMessage.From = new MailAddress("*****@*****.**");
                mailMessage.To.Add(new MailAddress(args.Email));
                mailMessage.Subject = string.Format("您的密码已重置", new object[0]);
                string body = string.Format("<b>您的密码已重置</b><br/>\n                            帐户:{0}<br/>\n                            密码:{1}<br/>\n                            登录地址:http://e.zkebao.com<br/>\n                            ", args.Account, num);
                mailMessage.Body       = body;
                mailMessage.IsBodyHtml = true;
                SmtpService.Instance.Send(mailMessage);
            }
            return(num2 == 1);
        }
 public async Task <IActionResult> ChangePasswordBySeccode([FromBody] ResetPasswordArgs model)
 {
     return(await _registrationUserAdapter.ChangePasswordBySeccode(model.Email, model.Code, model.NewPassword));
 }