public ActionResult LogOn(UserLogin model, string returnUrl) { if (this.ModelState.IsValid && UserProvider.ValidateUser(model)) { HttpCookie existingCookie = Request.Cookies["userName"]; if (existingCookie != null) { // force to expire it existingCookie.Value = model.UserName; existingCookie.Expires = DateTime.Now.AddHours(-20); } // create a cookie HttpCookie newCookie = new HttpCookie("userName", model.UserName); newCookie.Expires = DateTime.Today.AddMonths(3); Response.Cookies.Add(newCookie); FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); if (this.Url.IsLocalUrl(returnUrl)) { return Redirect(returnUrl); } else { return RedirectToAction("Index", "Board"); } } this.ModelState.AddModelError("", "Chybný email nebo heslo"); TempData["VisibleLoginPanel"] = false; return View(model); }
public bool ValidateUser(UserLogin userLogin) { var user = _database.Users.SingleOrDefault(u => u.Email.ToLower() == userLogin.UserName.ToLower()); if (user == null) return false; if (!userLogin.Password.Equals(user.Password)) return false; return true; }
public ActionResult LogOnPanel() { var user = UserProvider.GetCurrentUser(true); if (user == null) { var newUser = new UserLogin(); HttpCookie existingCookie = Request.Cookies["userName"]; if (existingCookie != null) { newUser.UserName = existingCookie.Value; } return PartialView(newUser); } return PartialView("UserStatus", user); }