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); }
public async Task <string> CreateCodeAsync(string userId) { if (!ObjectId.TryParse(userId, out ObjectId id)) { return(string.Empty); } var ret = new VerifyEntity() { UserId = id, Expired = DateTime.UtcNow.AddDays(1) }; await _context.VerifyEntityCollection.InsertOneAsync(ret); return(ret.VerifyCode.ToString()); }
public VerifyEntity Add(long userId) { using (InShareContext db = new InShareContext()) { BaseService <VerifyEntity> baseService = new BaseService <VerifyEntity>(db); var entity = baseService.GetAll().FirstOrDefault(v => v.UserId == userId && v.IsValid); if (entity == null) { entity = new VerifyEntity { UserId = userId, IsValid = true, VerifyCode = Guid.NewGuid().ToString("N"), }; db.Verifys.Add(entity); db.SaveChanges(); } return(entity); } }
/// <summary> /// 添加验证信息 /// </summary> /// <param name="verify"></param> /// <returns></returns> public async Task <bool> AddVerify(VerifyEntity verify) { await _content.Verifies.AddAsync(verify); return(await _content.SaveChangesAsync() > 0); }
/// <summary> /// 添加验证信息 /// </summary> /// <param name="verify"></param> /// <returns></returns> public Task <bool> AddVerify(VerifyEntity verify) { return(_data.AddVerify(verify)); }