Esempio n. 1
0
        public ActionResult Logout()
        {
            HttpCookie cookie = Request.Cookies.Get("token");

            if (cookie == null)
            {
                return(RedirectToAction("index", "login"));
            }

            FinalMvcProject.Models.Admin admin = _context.Admins.FirstOrDefault(a => a.Token == cookie.Value);

            if (admin == null)
            {
                return(RedirectToAction("index", "login"));
            }

            admin.Token           = null;
            admin.ConfirmPassword = admin.Password;
            _context.SaveChanges();

            Response.Cookies["token"].Expires = DateTime.Now.AddDays(-1);


            return(RedirectToAction("index", "login"));
        }
        public ActionResult Index(Login login)
        {
            if (!ModelState.IsValid)
            {
                return(View(login));
            }

            FinalMvcProject.Models.Admin admin = db.Admins.FirstOrDefault(a => a.Email == login.Email);

            if (admin != null && Crypto.VerifyHashedPassword(admin.Password, login.Password))
            {
                admin.Token           = Guid.NewGuid().ToString();
                admin.Token           = Guid.NewGuid().ToString();
                admin.LastLoginDate   = DateTime.Now;
                admin.ConfirmPassword = admin.Password;

                db.SaveChanges();

                HttpCookie cookie = new HttpCookie("token", admin.Token)
                {
                    HttpOnly = true,
                    Expires  = login.RememberMe ? DateTime.Now.AddYears(1) : DateTime.MinValue
                };

                Response.Cookies.Add(cookie);

                return(RedirectToAction("index", "Home"));
            }

            ModelState.AddModelError("", "E-poçt və ya şifrə yalnışdır");

            return(View(login));
        }