public ActionResult Login(LoginModel model, string returnUrl) { using (CustomDbContext db = new CustomDbContext()) { //var userDetails = db.UserProfiles.Where(x => x.UserName == model.UserName && x.Password== model.Password).FirstOrDefault(); } if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe)) { //return RedirectToLocal(returnUrl); // Создать объект cookie-набора HttpCookie cookie = new HttpCookie("UT"); GenerateToken gt = new GenerateToken(); var jsonObj = gt.GenerateLocalAccessTokenResponse(model.UserName); JsonSerializer serializer = new JsonSerializer(); UserToken u = (UserToken)serializer.Deserialize(new JTokenReader(jsonObj), typeof(UserToken)); // Установить значения в нем cookie.Value = u.access_token; //cookie["Country"] = "ru-ru"; // Добавить куки в ответ Response.Cookies.Add(cookie); cookie = new HttpCookie("UserId"); // Установить значения в нем cookie.Value = model.UserName; //cookie["Country"] = "ru-ru"; // Добавить куки в ответ Response.Cookies.Add(cookie); return(RedirectToAction("Index", "Profile")); } // If we got this far, something failed, redisplay form ModelState.AddModelError("", "Ім'я користувача або пароль введені невірно."); return(View(model)); }
public ActionResult Register(RegisterModel model) { if (ModelState.IsValid) { using (CustomDbContext db = new CustomDbContext()) { db.ProfileModel.Add(new ProfileModel { UserName = model.UserName }); db.SaveChanges(); } // Attempt to register the user try { string role = ""; if (model.Role) { role = "mentor"; } else { role = "student"; } using (CustomDbContext db = new CustomDbContext()) { var user = db.ProfileModel.SingleOrDefault(x => x.UserName == model.UserName); Image image = Image.FromFile(HostingEnvironment.MapPath("~/Images/userphoto.png")); System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(); image.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg); byte[] b = memoryStream.ToArray(); user.UserPhoto = b; db.SaveChanges(); } WebSecurity.CreateUserAndAccount(model.UserName, model.Password, propertyValues: new { EmailAddress = model.EmailAddress, Role = role }); WebSecurity.Login(model.UserName, model.Password); HttpCookie cookie = new HttpCookie("UT"); GenerateToken gt = new GenerateToken(); var jsonObj = gt.GenerateLocalAccessTokenResponse(model.UserName); JsonSerializer serializer = new JsonSerializer(); UserToken u = (UserToken)serializer.Deserialize(new JTokenReader(jsonObj), typeof(UserToken)); // Установить значения в нем cookie.Value = u.access_token; //cookie["Country"] = "ru-ru"; // Добавить куки в ответ Response.Cookies.Add(cookie); // Создать объект cookie-набора cookie = new HttpCookie("UserId"); // Установить значения в нем cookie.Value = model.UserName; // Добавить куки в ответ Response.Cookies.Add(cookie); return(RedirectToAction("Index", "Profile")); } catch (MembershipCreateUserException e) { ModelState.AddModelError("", ErrorCodeToString(e.StatusCode)); } } // If we got this far, something failed, redisplay form return(View(model)); }