public BaseController() { if (!string.IsNullOrEmpty(System.Web.HttpContext.Current.User.Identity.Name)) { userCookieData = System.Web.HttpContext.Current.Session["userData"] as UserCookieData; if (userCookieData == null) { userService = new UserService(); User userEntity = userService.GetByUsername(System.Web.HttpContext.Current.User.Identity.Name); userCookieData = Mapper.Map <UserCookieData>(userEntity); System.Web.HttpContext.Current.Session["userData"] = userCookieData; } ViewBag.UserCookieData = userCookieData; } }
public ActionResult Login(UserModelView userDataIn) { if (User.Identity.IsAuthenticated) { return(RedirectToAction("Index", "Home")); } System.Web.Helpers.AntiForgery.Validate(); if (ModelState.IsValid) { if (this.userService.IsValidUser(userDataIn.Username, userDataIn.Password)) { User userEntity = this.userService.GetByUsername(userDataIn.Username); UserCookieData userCookieData = Mapper.Map <UserCookieData>(userEntity); var authTicket = new FormsAuthenticationTicket( 1, // version userCookieData.Username, // user name DateTime.Now, // created DateTime.Now.AddMinutes(20), // expires true, // persistent? string.Empty // can be used to store roles ); string encryptedTicket = FormsAuthentication.Encrypt(authTicket); var authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket); System.Web.HttpContext.Current.Response.Cookies.Add(authCookie); if (!string.IsNullOrEmpty(userDataIn.ReturnUrl.ToString())) { return(Redirect(userDataIn.ReturnUrl.ToString())); } return(RedirectToAction("Home", "Index")); } } ModelState.AddModelError("General", "Invalid Username or Password"); return(View(userDataIn)); }