Esempio n. 1
0
        public IActionResult Forget(ForgetViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                if (_account.ExistsMobileNumber(viewModel.Mobile))
                {
                    try
                    {
                        MessageSender sender = new MessageSender();

                        sender.SMS(viewModel.Mobile, "امکان تغییر کلمه عبور با کد تایید " + _account.GetUserActiveCode(viewModel.Mobile));
                    }
                    catch
                    {
                    }

                    return(RedirectToAction(nameof(Reset)));
                }
                else
                {
                    ModelState.AddModelError("Mobile", "کاربری با این شماره پیدا نشد");
                }
            }

            return(View(viewModel));
        }
Esempio n. 2
0
        public virtual async Task <JsonResult> Forget(ForgetViewModel model)
        {
            if (Session["SMSForgetCode"] == null || Session["SMSForgetCode"].ToString() != model.Code)
            {
                return(Json(new JsonError("验证码不正确", "code")));
            }
            await UserManager.ChangePasswordAsync(model.PhoneNumber, model.Password);

            await YummyOnlineManager.RecordLog(Log.LogProgram.Identity, Log.LogLevel.Warning, $"{model.PhoneNumber} {model.Password} Change Password");

            return(Json(new JsonSuccess()));
        }
        public async Task <ResponseViewModel <object> > Forget(ForgetViewModel vm)
        {
            var data = new ResponseViewModel <object>();

            var user = await _userProvider.GetUserInfo(vm.EMP_EMAIL);

            if (user != null)
            {
                //发送找回密码邮件
                var tempHtml = "<p>{0}</p>";
                var body     = string.Empty;
                var url      = _config.Domain + "/account/reset?token=" + MD5Util.TextToMD5(user.EMP_EMAIL);
                var link     = "<a href='" + url + "'>" + url + "</a>";

                body += string.Format(tempHtml, _localizer["forget.body1"]);
                body += string.Format(tempHtml, user.LoginName + _localizer["forget.body2"]);
                body += string.Format(tempHtml, _localizer["forget.body3"] + link);
                body += string.Format(tempHtml, _localizer["forget.body4"]);
                body += string.Format(tempHtml, _localizer["forget.body5"]);

                data.Msg = _localizer["forget.success"];

                var verify = new VerifyEntity
                {
                    UserId = user.ID,
                    Token  = MD5Util.TextToMD5(user.EMP_EMAIL),
                    Status = (int)VerifyStatusEnum.Normal,
                    Type   = (int)VerifyTypeEnum.Password,
                    Time   = DateTime.Now
                };
                await _verifyProvider.AddVerify(verify);

                try
                {
                    _email.SendEmail(user.LoginName, user.EMP_EMAIL, _localizer["forget.subject"], body);
                }
                catch (Exception e)
                {
                    data.Code = 1;
                    data.Msg  = e.Message;
                }
            }
            else
            {
                data.Code = 1;
                data.Msg  = _localizer["forget.inexistent"];
            }

            return(data);
        }
Esempio n. 4
0
        public IActionResult Forget(ForgetViewModel forget)
        {
            if (ModelState.IsValid)
            {
                var user = _iuser.ForgetPassword(forget.Mobile);

                if (user != null)
                {
                    SMS sms = new SMS();

                    sms.Send(forget.Mobile, "کد تایید برای فراموشی کلمه عبور  " + user.Code + "می بشد ");
                    return(RedirectToAction("Reset"));
                }
                else
                {
                    ModelState.AddModelError("Moblie", "این شماره موبایل هنوز ثبت نام نشده است");
                    return(View(forget));
                }
            }
            else
            {
                return(View(forget));
            }
        }