public ActionResult Create(SessionViewModel sessionViewModel) { User user = null; if (ModelState.IsValid) { user = _repository.GetAll<User>().SingleOrDefault(x => x.Username == sessionViewModel.Username); if (user == null) { ModelState.AddModelError("Username", "User not found"); } } if (ModelState.IsValid) { if (!BCrypt.Net.BCrypt.Verify(sessionViewModel.Password, user.Password)) { ModelState.AddModelError("Password", "Wrong password"); } } if (ModelState.IsValid) { _authenticator.SetCookie(user.Username); if (!string.IsNullOrEmpty(sessionViewModel.ReturnUrl)) { return Redirect(sessionViewModel.ReturnUrl); } return RedirectToAction("Index", "Home"); } return View("New", sessionViewModel); }
public ActionResult Create(SessionViewModel sessionViewModel) { User user = null; _repository = new InMemoryRepository(); _authenticator = new CookieAuthenticator(); if (ModelState.IsValid) { user = _repository.GetAll<User>().SingleOrDefault(x => x.Username == sessionViewModel.Username); if (user == null) { ModelState.AddModelError(string.Empty, errorMessage); } } if (ModelState.IsValid) { if (!BCrypt.Net.BCrypt.Verify(sessionViewModel.Password, user.Password)) { ModelState.AddModelError(string.Empty, errorMessage); } } if (ModelState.IsValid) { _authenticator.SetCookie(user.Username); var returnUrl = sessionViewModel.ReturnUrl; if (returnUrl != null) { Uri returnUri; if (Uri.TryCreate(returnUrl, UriKind.Relative, out returnUri)) { return Redirect(sessionViewModel.ReturnUrl); } } return RedirectToAction("Index", "Home"); } return View("New", sessionViewModel); }