コード例 #1
0
        public ActionResult Login(AcessoModel acessoUsuario)
        {
            var _cookieHabilitadoBrowser = HttpContext.Request.Cookies[objMD5.getMD5Hash("BrowserVerificaCriarCookie")];

            if (_cookieHabilitadoBrowser == null)
            {
                return(RedirectToAction("HabilitarCookie", "Restricao"));
                // ModelState.AddModelError(string.Empty, "O navegador (ou browser) que você está usando recusa-se a fazer o login em sua conta. (cookies rejeitados)!");
                // return View();
            }

            if (string.IsNullOrEmpty(acessoUsuario.usuario))
            {
                ModelState.AddModelError(string.Empty, "Informe o seu Usuário ou E-mail!");
                return(View());
            }
            if (string.IsNullOrEmpty(acessoUsuario.senha))
            {
                ModelState.AddModelError(string.Empty, "Informe a senha!");
                return(View());
            }
            if (ModelState.IsValid)
            {
                string _Username, _Password, _PasswordCrip;
                bool   _LembrarUsuario;
                bool   _ManterConectado;

                _Username        = acessoUsuario.usuario;
                _Password        = acessoUsuario.senha;
                _LembrarUsuario  = acessoUsuario.lembrarUsuario;
                _ManterConectado = acessoUsuario.manterConectado;

                _PasswordCrip = objMD5.getMD5Hash(_Password);

                if (UsersRepository.AutenticarUsuario(_Username, _PasswordCrip, _LembrarUsuario, _ManterConectado))
                {
                    HttpCookie VerificaCookie = new HttpCookie(objMD5.getMD5Hash("BrowserVerificaCriarCookie"));
                    VerificaCookie.Expires = DateTime.Now.AddDays(-1d);
                    Response.Cookies.Add(VerificaCookie);

                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Usuário ou Senha inválidos!");
                    return(View());
                }
            }
            return(View());
        }