public ActionResult Authorization(LoginViewModel model) { var user = Context.Users.Where(u => u.Username == model.Username && u.Password == model.Password).FirstOrDefault(); if (user != null) { var roles = user.Roles.Select(m => m.RoleName).ToArray(); CustomPrincipalSerializeModel serializeModel = new CustomPrincipalSerializeModel(); serializeModel.UserId = user.UserId; serializeModel.FirstName = user.FirstName; serializeModel.LastName = user.LastName; serializeModel.roles = roles; string userData = JsonConvert.SerializeObject(serializeModel); FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket( 1, user.Email, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData); string encTicket = FormsAuthentication.Encrypt(authTicket); HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket); Response.Cookies.Add(faCookie); if (Request.IsAjaxRequest()) { return Json(user.Email); } return RedirectToAction("JsonIndex", "Home"); } ModelState.AddModelError("", "Incorrect username and/or password"); return null; }
public ActionResult Index(LoginViewModel model) { if (Request.IsAjaxRequest() || ModelState.IsValid) { ActionResult actionResult = Authorization(model); return actionResult; } return View(model); }
public ActionResult Registration(RegistrationViewModel model) { if (ModelState.IsValid) { User user = new User() { CreateDate = DateTime.Now, Email = model.Email, FirstName = model.FirstName, IsActive = true, LastName = model.LastName, Password = model.Password, Username = model.Username }; Role userRole = Context.Roles.First(r => r.RoleName == "User"); user.Roles.Add(userRole); Context.Users.Add(user); Context.SaveChanges(); LoginViewModel loginViewModel = new LoginViewModel() { Username = model.Username, Password = model.Password }; ActionResult actionResult = Authorization(loginViewModel); return actionResult; } return View(model); }