Пример #1
0
        public ActionResult LogIn(UserModel user)
        {
            if (ModelState.IsValid)
            {
                if (IsValid(user.Email, user.Password))
                {
                    HttpContext HttpContext = System.Web.HttpContext.Current;

                    FormsAuthentication.SetAuthCookie(user.Email, false);

                    var usr = userRepo.Find(u => u.Email == user.Email).FirstOrDefault();

                    HttpContext.Current.Session["Email"] = usr.Email.ToString();
                    HttpContext.Current.Session["UserId"] = usr.Id.ToString();

                    return RedirectToAction("index", "home");
                }
                else
                {
                    ModelState.AddModelError("", "Wrong login credentials.");
                }
            }

            return View(user);
        }
Пример #2
0
        public ActionResult Registration(UserModel user)
        {
            if (ModelState.IsValid)
            {
                Guid g = Guid.NewGuid();
                string GuidString = Convert.ToBase64String(g.ToByteArray());
                GuidString = GuidString.Replace("+", "");
                GuidString = GuidString.Replace("=", "");
                GuidString = GuidString.Replace("/", "");

                var crypto = new SimpleCrypto.PBKDF2();

                userRepo.Add(new User()
                {
                    Id = GuidString,
                    Email = user.Email,
                    Password = crypto.Compute(user.Password),
                    PasswordSalt = crypto.Salt
                });

                userRepo.Complete();

                listRepo.Add(new List()
                {
                    UserId = GuidString,
                    Name = "Watched",
                    Created = DateTime.Now
                });

                listRepo.Complete();

                return RedirectToAction("Index", "Home");
            }
            else
            {
                ModelState.AddModelError("", "Reg failed");
            }

            return View();
        }