public bool LoginSubmit(user_info user) { user.password = EncryptSugar.GetInstance().MD5(user.password); var isLogin = us.Login(user.user_name, user.password); return(isLogin); }
public JsonResult ActivateMailSubmit(string key, string userId, string mail) { Check.Exception(mail.IsEamil().IsFalse(), "参数不合法"); var model = new ResultModel <string>(); _service.Command <HomeOutsourcing>((db, o) => { var userIdInt = EncryptSugar.GetInstance().Decrypto(key).ObjToInt(); var date = EncryptSugar.GetInstance().Decrypto(userId).ObjToDate(); var isAny = db.Queryable <UserInfo>().Any(it => userIdInt == it.Id); var isOkDate = ((DateTime.Now - date).TotalDays <= 3); if (isAny && isOkDate) { model.ResultInfo = "激活成功,请刷新你的页面!"; model.IsSuccess = true; mail = mail.ToLower(); db.Update <UserInfo>(new { Email = mail }, it => it.Id == userIdInt); UpdateMailCache(userIdInt, mail); } else { model.ResultInfo = "激活失败,请重新发送邮箱验证或者联系管理员 [email protected] 。"; } }); return(Json(model, JsonRequestBehavior.AllowGet)); }
public JsonResult ActivateMailSend(string key, string userId, string mail) //命名反的误导黑客 { Check.Exception(mail.IsEamil().IsFalse(), "参数不合法"); var userIdInt = EncryptSugar.GetInstance().Decrypto(key).ObjToInt(); var date = EncryptSugar.GetInstance().Decrypto(userId).ObjToDate(); var model = new ResultModel <string>(); if (base.IsLogin == false) { model.ResultInfo = "登录超时请刷新页面重新登录"; return(Json(model, JsonRequestBehavior.AllowGet)); } var cm = CacheManager <DateTime> .GetInstance(); string mailTimeKey = PubConst.SessionMailTime + key.ToLower(); if (cm.ContainsKey(mailTimeKey)) { var mins = (DateTime.Now - cm[mailTimeKey]).TotalSeconds; if (mins < 60) { model.ResultInfo = "您刚才已经发送成功,如果还没有收到邮件,请等待{0}秒后重新发送。".ToFormat(Convert.ToUInt32(60 - mins)); return(Json(model, JsonRequestBehavior.AllowGet)); } } _service.Command <HomeOutsourcing>((db, o) => { var isAnyUser = db.Queryable <UserInfo>().Any(it => userIdInt == it.Id); var isOkDate = ((DateTime.Now - date).TotalDays <= 3); var isAnyMail = db.Queryable <UserInfo>().Any(it => mail.ToLower() == it.Email); if (isAnyUser && isOkDate && isAnyMail.IsFalse()) { var html = FileSugar.FileToString(FileSugar.GetMapPath("~/Template/mail/Validate.html")).Replace('\r', ' ').Replace('\n', ' '); string userName = _userInfo.NickName; string aHtml = "<a href=\"{0}\">{1}</a>".ToFormat(RequestInfo.HttpDomain + "" + Url.Action("ActivateMailSubmitSuccess", "UserCenter", new { key = key, userId = userId, mail }), "请点击这儿完成激活"); string dateString = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); MailSmtp ms = new MailSmtp(PubGet.GetEmailSmtp, PubGet.GetEmailUserName, PubGet.GetEmailPassword); html = html.ToFormat(userName, aHtml, dateString); ms.Send(PubGet.GetEmailUserName, PubConst.SiteMailUserName, mail, userName + "邮箱激活通知", html); model.ResultInfo = "发送成功,请打开邮箱完成激活!"; string uniqueKey = PubGet.GetUserKey; base.AddUpdateMailCache(uniqueKey); model.IsSuccess = true; Check.Exception(ms.Result.IsValuable(), "邮件激活失败!" + ms.Result); cm.Add(mailTimeKey, DateTime.Now, cm.Minutes); } else if (isAnyMail) { model.ResultInfo = "发送失败,该邮箱已经被激活,或已经存在。"; } else { model.ResultInfo = "发送失败"; } }); return(Json(model, JsonRequestBehavior.AllowGet)); }
protected void Page_Load(object sender, EventArgs e) { var es = EncryptSugar.GetInstance(); es.SetMaxCacheNum(0); string word = "abc"; var wordEncrypt = es.Encrypto(word); var wordEncrypt2 = es.Encrypto("22"); var wordDecrypt = es.Decrypto(wordEncrypt); var wordMd5 = es.MD5(word); }
public ActionResult ActivateMail() { if (base.IsLogin == false) { return(this.Redirect("~/Ask")); } UserMailResult model = new UserMailResult(); model.UserInfo = _userInfo; model.UserCode = EncryptSugar.GetInstance().Encrypto(model.UserInfo.Id.ToString()); string dateStr = DateTime.Now.ToString("yyyy-MM-dd"); model.Now = EncryptSugar.GetInstance().Encrypto(dateStr); return(View(model)); }
public ActionResult CallBack(string state) { var current = OAuth2Factory.Current; if (current.openID.IsNullOrEmpty()) { return(Content("第三方登录失败!")); } _service.Command <OauthOutsourcing>((db, o) => { var pwd = new EncryptSugar().MD5(RandomSugar.GetRandomString(10)); try { var userMapping = db.Queryable <UserOAuthMapping>().SingleOrDefault(it => it.AppId == current.openID); if (userMapping == null)//注册 { db.BeginTran(); UserInfo u = o.GetUser(current, pwd); var id = db.Insert(u).ObjToInt(); UserOAuthMapping um = o.GetUserOauthMapping(current, id); db.Insert(um); db.CommitTran(); userMapping = um; RemoveNewUserListCache(); } var user = db.Queryable <UserInfo>().InSingle(userMapping.UserId); o.SaveAvatar(db, user); var cm = CacheManager <UserInfo> .GetInstance(); string uniqueKey = PubGet.GetUserKey; cm.Add(uniqueKey, user, cm.Day * 365);//保存一年 LoginHistory lh = new LoginHistory() { CreateDate = DateTime.Now, IsDeleted = false, Uid = user.Id, UniqueKey = uniqueKey }; db.Insert(lh); } catch (Exception ex) { PubMethod.WirteExp(ex); db.RollbackTran(); throw new Exception("第三方登录注册失败!" + ex.Message); } }); return(this.Redirect("~/ask")); }
public JsonResult Submit(string userName, string password, string code) { var model = new ResultModel <string>(); _service.Command <LoginOutsourcing>((db, o) => { var sm = SessionManager <string> .GetInstance(); var severCode = sm[PubConst.SessionVerifyCode]; if (severCode == code) { password = new EncryptSugar().MD5(password); int adminRoleId = (int)PubEnum.RoleType.Admin; var userInfo = db.Queryable <UserInfo>() .Where(it => it.RoleId == adminRoleId)//只有管理员才可以登录 .FirstOrDefault(it => it.UserName == userName && it.Password == password); var isLogin = userInfo != null; model.Status = isLogin ? "1" : "3"; if (model.Status == "3") { model.ResultInfo = "用户名密码不正确!"; } else { model.ResultInfo = Url.Content("/") + PubConst.UrlAdminIndex; var cm = CacheManager <UserInfo> .GetInstance(); string uniqueKey = PubGet.GetUserKey; cm.Add(uniqueKey, userInfo, cm.Day * 365);//保存一年 } } else { model.Status = "2"; model.ResultInfo = "验证码不正确!"; } }); return(Json(model)); }