/// <summary> /// 获取激活码 (邮件发送成功 默认跳转到激活页面) /// </summary> /// <param name="username">用户名</param> /// <param name="mail">邮箱地址</param> /// <returns></returns> public bool GetActivate(out JSData jsdata) { var json = new Common.CustomModel.JSData(); #region 1.验证是否正常途径访问获取激活码 方法 if (null == Session[tempUserinfo]) { json.State = EnumState.失败; //json.Messg = "请您通过正常途径访问激活页面~"; json.JSurl = "/"; jsdata = json; return(false); } #endregion Session[jihuoma] = new Random().Next(999999999).ToString(); #region 2.发送邮件 如果邮件发送成功 默认跳转到 激活页面 Helper.EmailHelper email = new Helper.EmailHelper() { mailPwd = s_mailPwd, host = s_host, mailFrom = s_mailFrom, mailSubject = "[嗨-博客]激活码", mailBody = "欢迎激活 “嗨-博客”</br></br>您注册的的帐号:" + ((ModelDB.BlogUsersSet)Session[tempUserinfo]).UserName + " 激活码:" + Session[jihuoma].ToString(), mailToArray = new string[] { ((ModelDB.BlogUsersSet)Session[tempUserinfo]).UserMail } }; try { email.Send(); json.State = EnumState.正常重定向; json.Messg = "激活码已经发送邮箱~请注意查收~"; json.JSurl = "/UserManage/Activate"; jsdata = json; return(true); } catch (Exception ex) { json.State = EnumState.失败; json.Messg = ex.Message; jsdata = json; return(false); } #endregion }
public JsonResult ResetPass(BlogUsersSet blog) { JsonResult jsonRe = new JsonResult(); var pass = blog.UserPass; var email = blog.UserMail; var objJson = new Common.CustomModel.JSData(); #region 1.数据验证 if (string.IsNullOrEmpty(pass.Trim())) { objJson.Messg = "新密码不能为空~"; } if (string.IsNullOrEmpty(email.Trim())) { objJson.Messg = "邮箱不能为空~"; } if (!string.IsNullOrEmpty(objJson.Messg)) { objJson.State = EnumState.失败; jsonRe.Data = objJson; return(jsonRe); } #endregion var obj = GetDataHelper.GetAllUser().Where(t => t.UserMail == email); if (null == obj || obj.Count() <= 0) { objJson.State = EnumState.失败; objJson.Messg = "您输入的邮箱不是注册时候的邮箱~"; jsonRe.Data = objJson; } else { Session[tempUserinfo] = obj.FirstOrDefault(); var userobj = (ModelDB.BlogUsersSet)Session[tempUserinfo]; userobj.UserPass = pass;//z GetActivate(out objJson); jsonRe.Data = objJson; } return(jsonRe); }
public string Activate() { var json = new Common.CustomModel.JSData(); #region 1.判断是否从正常途径访问此页面 如果是的话 默认存在 Session[tempUserinfo] 2.如果是已经登录状态则直接无视 跳转 if (null == Session[tempUserinfo]) { json.State = EnumState.失败;//json.Messg = "请您通过正常途径访问激活页面~"; json.JSurl = "/"; return json.ToJson(); } if (BLLSession.UserInfoSessioin != null && !BLLSession.UserInfoSessioin.IsLock) { json.State = EnumState.失败; //json.Messg = "您都已经登录的还想获取激活码?别玩了~"; json.JSurl = "/"; return json.ToJson(); } #endregion var tempuser = ((ModelDB.BlogUsersSet)Session[tempUserinfo]); var activate = Request.Form["txt_activate"];//激活码 #region 2.验证激活码 (更新缓存 发送通知邮件 清空无用session) if (activate.Trim() == Session[jihuoma].ToString().Trim()) //验证激活码 { BLL.BlogUsersSetBLL user = new BLL.BlogUsersSetBLL(); var objuser = user.GetList(t => t.Id == tempuser.Id, isAsNoTracking: false).FirstOrDefault(); if (null != objuser) { objuser.IsLock = false; objuser.UserPass = tempuser.UserPass.MD5().MD5();//【】这里有个小BUG 暂未处理(如果是迁移的用户 这第一次登录需要激活密码) objuser.UserMail = tempuser.UserMail; } user.save(); #region bug 记录 //ModelDB.BlogUsers objuser = new ModelDB.BlogUsers(); //objuser.Id = id; //objuser.IsLock = false; // user.Up(objuser, "IsLock"); //这个方法 正常情况用没问题,如果先添加 然后修改就有问题 (不能用) #endregion bool islock = BLL.Common.CacheData.GetAllUserInfo(true).Where(t => t.Id == tempuser.Id).FirstOrDefault().IsLock; if (!islock) { #region 发送邮件 告知 激活成功 Helper.EmailHelper email = new Helper.EmailHelper() { mailPwd = s_mailPwd, host = s_host, mailFrom = s_mailFrom, mailSubject = "欢迎您注册 嗨-博客", mailBody = objuser.UserNickname + " 您好!欢迎注册 嗨-博客</br></br>" + "您注册的的帐号:" + objuser.UserName + //" 密码是:" + objuser.UserPass + "</br></br>" + "请您妥善保管~", mailToArray = new string[] { ((ModelDB.BlogUsersSet)Session[tempUserinfo]).UserMail } }; try { email.Send(); } catch (Exception) { } #endregion Session[jihuoma] = null; Session[tempUserinfo] = null; BLLSession.UserInfoSessioin = objuser; return new JSData() { Messg = "恭喜您~激活成功~", State = EnumState.正常重定向, JSurl = "/" }.ToJson(); } else { return new JSData() { Messg = "激活失败,请联系管理员~", State = EnumState.失败 }.ToJson(); } } #endregion return new JSData() { Messg = "您输入的激活码错误,你可以重新激活~", State = EnumState.失败 }.ToJson(); }
public JsonResult ResetPass(BlogUsersSet blog) { JsonResult jsonRe = new JsonResult(); var pass = blog.UserPass; var email = blog.UserMail; var objJson = new Common.CustomModel.JSData(); #region 1.数据验证 if (string.IsNullOrEmpty(pass.Trim())) objJson.Messg = "新密码不能为空~"; if (string.IsNullOrEmpty(email.Trim())) objJson.Messg = "邮箱不能为空~"; if (!string.IsNullOrEmpty(objJson.Messg)) { objJson.State = EnumState.失败; jsonRe.Data = objJson; return jsonRe; } #endregion var obj = GetDataHelper.GetAllUser().Where(t => t.UserMail == email); if (null == obj || obj.Count() <= 0) { objJson.State = EnumState.失败; objJson.Messg = "您输入的邮箱不是注册时候的邮箱~"; jsonRe.Data = objJson; } else { Session[tempUserinfo] = obj.FirstOrDefault(); var userobj = (ModelDB.BlogUsersSet)Session[tempUserinfo]; userobj.UserPass = pass;//z GetActivate(out objJson); jsonRe.Data = objJson; } return jsonRe; }
public JsonResult Regis(BlogUsersSet blog) { JsonResult jsonresult = new JsonResult(); var json = new Common.CustomModel.JSData(); #region 1.数据检验 if (CacheData.GetAllUserInfo(true).Where(t => t.UserMail == blog.UserMail).Count() > 0) json.Messg = "此邮箱已经被注册~换个邮箱吧~"; else if (CacheData.GetAllUserInfo().Where(t => t.UserName == blog.UserName).Count() > 0) json.Messg = "此用户名已经存在~"; if (!string.IsNullOrEmpty(json.Messg)) { json.State = EnumState.失败; jsonresult.Data = json; return jsonresult; } #endregion Blogs.ModelDB.BlogUsersSet user = new ModelDB.BlogUsersSet() { UserName = blog.UserName, UserPass = blog.UserPass, UserMail = blog.UserMail, UserNickname = blog.UserNickname, IsLock = true, UserInfo = new UserInfo() }; Session[tempUserinfo] = user; JSData jsdata; #region 2.邮件发送失败 if (!GetActivate(out jsdata)) // { jsdata.State = EnumState.失败; jsdata.Messg = jsdata.Messg + " ~请重新输入邮箱~"; } #endregion #region 3.邮件发送成功 else { BLL.BlogUsersSetBLL userBll = new BLL.BlogUsersSetBLL(); userBll.Add(user); //在保存前 再做次验证 if (GetDataHelper.GetAllUser().Where(t => t.UserName == blog.UserName || t.UserMail == blog.UserMail).Count() > 0) { json.Messg = "此用户名后邮箱已经存在~"; json.State = EnumState.失败; jsonresult.Data = json; return jsonresult; } else userBll.save(); //验证是否注册成功 (并重新加载缓存信息) if (CacheData.GetAllUserInfo(true).Where(t => t.UserName == blog.UserName && t.UserPass == blog.UserPass).Count() > 0) { BLLSession.UserInfoSessioin = user; } else { json = new JSData() { Messg = "注册失败", State = EnumState.失败 }; jsonresult.Data = json; return jsonresult; } } #endregion jsonresult.Data = jsdata; return jsonresult; }
/// <summary> /// 获取激活码 (邮件发送成功 默认跳转到激活页面) /// </summary> /// <param name="username">用户名</param> /// <param name="mail">邮箱地址</param> /// <returns></returns> public bool GetActivate(out JSData jsdata) { var json = new Common.CustomModel.JSData(); #region 1.验证是否正常途径访问获取激活码 方法 if (null == Session[tempUserinfo]) { json.State = EnumState.失败; //json.Messg = "请您通过正常途径访问激活页面~"; json.JSurl = "/"; jsdata = json; return false; } #endregion Session[jihuoma] = new Random().Next(999999999).ToString(); #region 2.发送邮件 如果邮件发送成功 默认跳转到 激活页面 Helper.EmailHelper email = new Helper.EmailHelper() { mailPwd = s_mailPwd, host = s_host, mailFrom = s_mailFrom, mailSubject = "[嗨-博客]激活码", mailBody = "欢迎激活 “嗨-博客”</br></br>您注册的的帐号:" + ((ModelDB.BlogUsersSet)Session[tempUserinfo]).UserName + " 激活码:" + Session[jihuoma].ToString(), mailToArray = new string[] { ((ModelDB.BlogUsersSet)Session[tempUserinfo]).UserMail } }; try { email.Send(); json.State = EnumState.正常重定向; json.Messg = "激活码已经发送邮箱~请注意查收~"; json.JSurl = "/UserManage/Activate"; jsdata = json; return true; } catch (Exception ex) { json.State = EnumState.失败; json.Messg = ex.Message; jsdata = json; return false; } #endregion }
public string Activate() { var json = new Common.CustomModel.JSData(); #region 1.判断是否从正常途径访问此页面 如果是的话 默认存在 Session[tempUserinfo] 2.如果是已经登录状态则直接无视 跳转 if (null == Session[tempUserinfo]) { json.State = EnumState.失败;//json.Messg = "请您通过正常途径访问激活页面~"; json.JSurl = "/"; return(json.ToJson()); } if (BLLSession.UserInfoSessioin != null && !BLLSession.UserInfoSessioin.IsLock) { json.State = EnumState.失败; //json.Messg = "您都已经登录的还想获取激活码?别玩了~"; json.JSurl = "/"; return(json.ToJson()); } #endregion var tempuser = ((ModelDB.BlogUsersSet)Session[tempUserinfo]); var activate = Request.Form["txt_activate"];//激活码 #region 2.验证激活码 (更新缓存 发送通知邮件 清空无用session) if (activate.Trim() == Session[jihuoma].ToString().Trim()) //验证激活码 { BLL.BlogUsersSetBLL user = new BLL.BlogUsersSetBLL(); var objuser = user.GetList(t => t.Id == tempuser.Id, isAsNoTracking: false).FirstOrDefault(); if (null != objuser) { objuser.IsLock = false; objuser.UserPass = tempuser.UserPass.MD5().MD5();//【】这里有个小BUG 暂未处理(如果是迁移的用户 这第一次登录需要激活密码) objuser.UserMail = tempuser.UserMail; } user.save(); #region bug 记录 //ModelDB.BlogUsers objuser = new ModelDB.BlogUsers(); //objuser.Id = id; //objuser.IsLock = false; // user.Up(objuser, "IsLock"); //这个方法 正常情况用没问题,如果先添加 然后修改就有问题 (不能用) #endregion bool islock = BLL.Common.CacheData.GetAllUserInfo(true).Where(t => t.Id == tempuser.Id).FirstOrDefault().IsLock; if (!islock) { #region 发送邮件 告知 激活成功 Helper.EmailHelper email = new Helper.EmailHelper() { mailPwd = s_mailPwd, host = s_host, mailFrom = s_mailFrom, mailSubject = "欢迎您注册 嗨-博客", mailBody = objuser.UserNickname + " 您好!欢迎注册 嗨-博客</br></br>" + "您注册的的帐号:" + objuser.UserName + //" 密码是:" + objuser.UserPass + "</br></br>" + "请您妥善保管~", mailToArray = new string[] { ((ModelDB.BlogUsersSet)Session[tempUserinfo]).UserMail } }; try { email.Send(); } catch (Exception) { } #endregion Session[jihuoma] = null; Session[tempUserinfo] = null; BLLSession.UserInfoSessioin = objuser; return(new JSData() { Messg = "恭喜您~激活成功~", State = EnumState.正常重定向, JSurl = "/" }.ToJson()); } else { return(new JSData() { Messg = "激活失败,请联系管理员~", State = EnumState.失败 }.ToJson()); } } #endregion return(new JSData() { Messg = "您输入的激活码错误,你可以重新激活~", State = EnumState.失败 }.ToJson()); }
public JsonResult Regis(BlogUsersSet blog) { JsonResult jsonresult = new JsonResult(); var json = new Common.CustomModel.JSData(); #region 1.数据检验 if (CacheData.GetAllUserInfo(true).Where(t => t.UserMail == blog.UserMail).Count() > 0) { json.Messg = "此邮箱已经被注册~换个邮箱吧~"; } else if (CacheData.GetAllUserInfo().Where(t => t.UserName == blog.UserName).Count() > 0) { json.Messg = "此用户名已经存在~"; } if (!string.IsNullOrEmpty(json.Messg)) { json.State = EnumState.失败; jsonresult.Data = json; return(jsonresult); } #endregion Blogs.ModelDB.BlogUsersSet user = new ModelDB.BlogUsersSet() { UserName = blog.UserName, UserPass = blog.UserPass, UserMail = blog.UserMail, UserNickname = blog.UserNickname, IsLock = true, UserInfo = new UserInfo() }; Session[tempUserinfo] = user; JSData jsdata; #region 2.邮件发送失败 if (!GetActivate(out jsdata)) // { jsdata.State = EnumState.失败; jsdata.Messg = jsdata.Messg + " ~请重新输入邮箱~"; } #endregion #region 3.邮件发送成功 else { BLL.BlogUsersSetBLL userBll = new BLL.BlogUsersSetBLL(); userBll.Add(user); //在保存前 再做次验证 if (GetDataHelper.GetAllUser().Where(t => t.UserName == blog.UserName || t.UserMail == blog.UserMail).Count() > 0) { json.Messg = "此用户名后邮箱已经存在~"; json.State = EnumState.失败; jsonresult.Data = json; return(jsonresult); } else { userBll.save(); } //验证是否注册成功 (并重新加载缓存信息) if (CacheData.GetAllUserInfo(true).Where(t => t.UserName == blog.UserName && t.UserPass == blog.UserPass).Count() > 0) { BLLSession.UserInfoSessioin = user; } else { json = new JSData() { Messg = "注册失败", State = EnumState.失败 }; jsonresult.Data = json; return(jsonresult); } } #endregion jsonresult.Data = jsdata; return(jsonresult); }