public ActionResult LoginToActive(string Username) { UserInfo user = db.UserInfo.Where(z => z.Username == Username).FirstOrDefault(); user.IsActive = true; db.SaveChanges(); if (user != null) { var userRoles = user.Roles.Select(r => r.RoleName).ToArray(); var serializeModel = new HotelPrincipalSerializeModel { UserId = user.UserId, FirstName = user.FirstMidName, LastName = user.LastName, Roles = userRoles }; var userData = JsonConvert.SerializeObject(serializeModel); var authTicket = new FormsAuthenticationTicket(1, user.Username, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData); var encTicket = FormsAuthentication.Encrypt(authTicket); var faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket); Response.Cookies.Add(faCookie); return(RedirectToAction("Index", "Home")); } return(View()); }
public ActionResult Login(LoginViewModel login) { try { // TODO: Add insert logic here if (ModelState.IsValid) { var user = db.UserInfo.FirstOrDefault(u => u.Username == login.Username && u.Password == login.Password); if (user != null) { if (user.IsActive == true) { var userRoles = user.Roles.Select(r => r.RoleName).ToArray(); var serializeModel = new HotelPrincipalSerializeModel { UserId = user.UserId, FirstName = user.FirstMidName, LastName = user.LastName, Roles = userRoles }; var userData = JsonConvert.SerializeObject(serializeModel); var authTicket = new FormsAuthenticationTicket(1, user.Username, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData); var encTicket = FormsAuthentication.Encrypt(authTicket); var faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket); Response.Cookies.Add(faCookie); return(RedirectToAction("Index", "Home")); } else { ModelState.AddModelError("", "Please, check you email and activate your account!"); } } else { Response.Write("<script>alert('Username or password is incorrect!')</script>"); //ModelState.AddModelError("", "Incorrect username and/or password"); } } else { ModelState.AddModelError("", "Incorrect username and/or password"); } return(View()); } catch { return(View()); } }
protected void Application_PostAuthenticateRequest(object sender, EventArgs e) { HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName]; if (authCookie != null) { FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value); //authCookie.Expires = Convert.ToDateTime(TimeSpan.FromMinutes(1)); if (authTicket != null) { HotelPrincipalSerializeModel serializeModel = JsonConvert.DeserializeObject <HotelPrincipalSerializeModel>(authTicket.UserData); var newUser = new HotelPrincipal(authTicket.Name) { UserId = serializeModel.UserId, FirstName = serializeModel.FirstName, LastName = serializeModel.LastName, Roles = serializeModel.Roles }; HttpContext.Current.User = newUser; } } }