public static Data.User ControlLogin() { if (HttpContext.Current.Session["User"] != null) { return((Data.User)HttpContext.Current.Session["User"]); } if (HttpContext.Current.Request.Cookies["userauth"] != null) { string tokenFromCookie = HttpContext.Current.Request.Cookies["userauth"].Value; using (Data.SimpleData db = new Data.SimpleData()) { Data.Token token = db.Tokens.FirstOrDefault(t => t.TokenKey == tokenFromCookie && t.ExpireDate > DateTime.Now); if (token != null) { HttpContext.Current.Session["User"] = token.User; return(token.User); } } } return(null); }
public ActionResult Login(Data.User user) { string returnUrl = Request["returnUrl"]; LoginResponse response = new LoginResponse((int)CommonContant.LANGUAGEID.TR); try { using (Data.SimpleData db = new Data.SimpleData()) { string password = Security.sha512encrypt(user.Password).Substring(0, 70); var User = db.Users.FirstOrDefault(t => t.Email == user.Email && t.Password == password); if (User == null) { response.SetErrror(CommonContant.ERROR_CODE.NONACTIVEUSER); return(View(response)); } if (User.ActiveStatus != (int)CommonContant.ActiveStatus.activeuser) { response.SetErrror(CommonContant.ERROR_CODE.NONACTIVEUSER); return(View(response)); } Data.Token token = new Data.Token { CreateDate = DateTime.Now, ExpireDate = DateTime.Now.AddHours(6), TokenKey = Security.sha512encrypt(RandomSfr.Generate(20)), }; User.Tokens.Add(token); db.SaveChanges(); HttpCookie c*k = new HttpCookie("userauth", token.TokenKey); c*k.Expires = DateTime.Now.AddHours(6); Response.Cookies.Add(c*k); Session["User"] = User; if (string.IsNullOrEmpty(returnUrl)) { return(RedirectToAction("Index", "Home")); } else { return(Redirect(returnUrl)); } } } catch (Exception ex) { response.SetErrror(CommonContant.ERROR_CODE.SYSTEM_ERROR); } return(View()); }