public ActionResult Login(Models.PasgoUser userModel) { using (PasGoEntities db = new PasGoEntities()) { if (db.Salt(userModel.PhoneNumber).Count() == 0) { TempData["Failed"] = "Tên đăng nhập hoặc mật khẩu không đúng"; return(View()); } string salt = db.Salt(userModel.PhoneNumber).ElementAt(0).ToString(); string hash = Hashed(userModel.Password, salt); if (db.Login(userModel.PhoneNumber, hash).Count() == 0) { TempData["Failed"] = "Tên đăng nhập hoặc mật khẩu không đúng"; return(View("Login")); } else { var userDetails = db.Login(userModel.PhoneNumber, hash).ElementAt(0); Session["PasgoID"] = userDetails.PasgoID; Session["FullName"] = userDetails.FullName; Session["PhoneNumber"] = userDetails.PhoneNumber; Session["Email"] = userDetails.Email; Session["DOB"] = userDetails.DOB; Session["Gender"] = userDetails.Gender_; for (int i = 0; i < Session.Contents.Count; i++) { System.Diagnostics.Trace.WriteLine(Session.Keys[i] + " - " + Session[i]); } FormsAuthentication.SetAuthCookie(userModel.PhoneNumber, true); if (userDetails.Level != 1) { Session["Level"] = userDetails.Level; return(RedirectToAction("Authentication", "Admin", userDetails)); } if (userDetails.Locked != null && userDetails.Locked > DateTime.Now) { TempData["Failed"] = "Tài khoản bị khóa, vui lòng liên hệ CSKH!"; return(RedirectToAction("Login")); } return(RedirectToAction("Index", "Home")); } } }
public ActionResult ChangePassword(string Phone, string PasgoID) { string oldpw = Request.Form["old"]; string newpw = Request.Form["new"]; string retypenew = Request.Form["retypenew"]; string salt = db.Salt(Phone).ToList().ElementAt(0).ToString(); string oldhash = Hashed(oldpw, salt); if (oldpw == "" || newpw == null || retypenew == null) { @TempData["Failed"] = "Mật khẩu không được để trống."; return(View()); } if (newpw != retypenew) { @TempData["Failed"] = "Mật khẩu không giống nhau."; return(View()); } string newsalt = CreatSalt(); string newhash = Hashed(newpw, newsalt); var result = db.UpdatePassword(Convert.ToInt32(PasgoID), oldhash, newsalt, newhash).ToList().ElementAt(0); switch (Convert.ToInt32(result)) { case 0: @TempData["Failed"] = "Thay đổi mật khẩu thất bại."; return(View()); case 2: @TempData["Failed"] = "Mật khẩu không chính xác."; return(View()); default: @TempData["Success"] = "Thay đổi mật khẩu thành công."; return(View()); } }