예제 #1
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user = new TestCrudEntities().Users.FirstOrDefault(u => u.txt_password == model.Password && u.txt_user == model.UserName);

            if (user != null)
            {
                FormsAuthentication.SetAuthCookie(model.UserName, false);

                var    authTicket      = new FormsAuthenticationTicket(1, user.txt_user, DateTime.Now, DateTime.Now.AddMinutes(20), false, user.tRol.txt_desc);
                string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
                var    authCookie      = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
                HttpContext.Response.Cookies.Add(authCookie);
                if (user.tRol.txt_desc == "Administrador")
                {
                    return(RedirectToAction("Index", "Users"));
                }
                else
                {
                    return(RedirectToAction("Index", "Home"));
                }
            }

            else
            {
                ModelState.AddModelError("", "Error autenticacion");
                return(View(model));
            }
        }