Ejemplo n.º 1
0
        public ActionResult Login(UsuarioLoginView u)
        {
            // esta action trata o post (login)
            if (ModelState.IsValid) //verifica se é válido
            {
                if (u.email == "admin@admin" && u.senhacripto == "admin")
                {
                    Session["usuarioId"] = "0"; //0 = ADMIN
                    Session["nomeUser"]  = "******";

                    return(RedirectToAction("Index"));
                }
                else
                {
                    using (Repositorio <Usuario> dc = new Repositorio <Usuario>())
                    {
                        var senhaCripto = Validacao.SenhaCripto(u.senhacripto);

                        var v = dc.Primeiro(e => e.email.TrimEnd() == u.email && senhaCripto == e.senhacripto);

                        if (v != null)
                        {
                            //Gravar COOKIE
                            // OU SESSION
                            //cada um tem as suas vantagens e desvantages

                            //Adicionei no web config 20 min
                            Session["usuarioId"] = v.id.ToString();
                            Session["nomeUser"]  = v.nome;

                            //https://www.codeproject.com/articles/244904/%2fArticles%2f244904%2fCookies-in-ASP-NET

                            /*Response.Cookies["LoginCookie"]["userId"] = v.id.ToString();
                             * Response.Cookies["LoginCookie"]["nomeUser"] = v.nome;
                             * Response.Cookies["LoginCookie"].Expires = DateTime.Now.AddDays(1);*/


                            return(RedirectToAction("Index"));
                        }
                    }
                }
            }
            ViewBag.Message = "Usuario ou senha inválidos!";
            return(View(u));
        }
Ejemplo n.º 2
0
        public ActionResult LogIn(UsuarioLoginView ULV, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                SeguridadManager UM       = new SeguridadManager();
                string           password = UM.GetUserPassword(ULV.Usuario);

                if (string.IsNullOrEmpty(password))
                {
                    ModelState.AddModelError("", "Usuario No Identificado.");
                }
                else
                {
                    if (ULV.Password.Equals(password))
                    {
                        string ipaddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
                        if (ipaddress == "" || ipaddress == null)
                        {
                            ipaddress = Request.ServerVariables["REMOTE_ADDR"];
                        }

                        ResultadoSesionView _resultado = UM.crearSesion(ULV.Usuario, ULV.Password, ipaddress);
                        if (_resultado.IdSesion > 0)
                        {
                            HttpContext.Session.Add("IdSesion", _resultado.IdSesion);

                            FormsAuthentication.SetAuthCookie(ULV.Usuario, false);
                            FormsAuthentication.RedirectFromLoginPage(ULV.Usuario, false);
                        }
                        else
                        {
                            ModelState.AddModelError("", _resultado.Resultado);
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "El Password Proporcionado es Incorrecto");
                    }
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(ULV));
        }