示例#1
0
        public IHttpActionResult iniciarSesion([FromBody] DTOLogin log)
        {
            try
            {
                if (log == null)
                {
                    return(Content(HttpStatusCode.BadRequest, "No."));
                }

                EPersona   res = cGeneral.iniciarSesion(log.email, log.password, log.rol);
                DTOEpToken ept = new DTOEpToken();
                ept.id            = res.id;
                ept.Password      = "******";
                ept.Correo        = res.Correo;
                ept.Documento     = res.Documento;
                ept.TipoDocumento = res.TipoDocumento;
                ept.pNombre       = res.pNombre;
                ept.sNombre       = res.sNombre;
                ept.pApellido     = res.pApellido;
                ept.sApellido     = res.sApellido;
                ept.tokenJWT      = TokenGenerator.GenerateTokenJwt(log.email);

                return(Ok(ept));
            }
            catch (Exception)
            {
                return(NotFound());
            }
        }
示例#2
0
        public ActionResult registrarse(DTORegistro persona)
        {
            EPersona per = new EPersona();

            per.id        = persona.id;
            per.Documento = persona.Documento;
            per.Correo    = persona.Correo;

            string source = persona.Password;

            using (SHA256 sha256Hash = SHA256.Create())
            {
                string hash = GetHash(sha256Hash, source);
                per.Password = hash;
            }



            per.TipoDocumento = (int)persona.TipoDocumento;
            per.pNombre       = persona.pNombre;
            per.sNombre       = persona.sNombre;
            per.pApellido     = persona.pApellido;
            per.sApellido     = persona.sApellido;


            if (pxi.existEmail(persona.Correo))
            {
                ViewBag.Message = "El correo ya existe.";
                return(View());
            }
            else
            {
                pxi.crearPersona(per);
                //return RedirectToAction("Index");

                DTOLogin log = new DTOLogin();

                log.email    = persona.Correo;
                log.password = per.Password;
                log.rol      = "Usuario";
                DTOEpToken res = pxg.iniciarSesion(log);

                Session["idPersona"] = res.id;
                Session["pNombre"]   = res.pNombre;
                Session["sNombre"]   = res.sNombre;
                Session["pApellido"] = res.pApellido;
                Session["sApellido"] = res.sApellido;
                Session["Correo"]    = res.Correo;
                Session["Password"]  = res.Password; //ojo que es "null"
                Session["tokenJWT"]  = res.tokenJWT; //cargo el token

                TipoDoc r = (TipoDoc)res.TipoDocumento;
                Session["TipoDocumento"] = r.ToString();

                Session["Documento"] = res.Documento;
                Session["Rol"]       = log.rol;

                return(RedirectToAction("Index", "usuario"));
            }
        }
示例#3
0
        public ActionResult Login(DTOLogForm logf)
        {
            Session.Clear();
            DTOLogin log = new DTOLogin();

            log.email = logf.email;

            string source = logf.password;

            using (SHA256 sha256Hash = SHA256.Create())
            {
                string hash = GetHash(sha256Hash, source);
                log.password = hash;
            }

            log.rol = logf.rol.ToString();

            DTOEpToken res = pxg.iniciarSesion(log);

            if (res.pNombre == "Error")
            {
                ViewBag.Message = "Usuario no registrado";
                return(View());
            }
            else
            {
                if (res.pNombre == "ErrorRol")
                {
                    ViewBag.Message = "Rol Incorrecto";
                    return(View());
                }
                else
                {
                    Session["idPersona"] = res.id;
                    Session["pNombre"]   = res.pNombre;
                    Session["sNombre"]   = res.sNombre;
                    Session["pApellido"] = res.pApellido;
                    Session["sApellido"] = res.sApellido;
                    Session["Correo"]    = res.Correo;
                    Session["Password"]  = res.Password; //ojo que es "null"
                    Session["tokenJWT"]  = res.tokenJWT; //cargo el token

                    TipoDoc r = (TipoDoc)res.TipoDocumento;
                    Session["TipoDocumento"] = r.ToString();

                    Session["Documento"] = res.Documento;
                    Session["Rol"]       = log.rol;

                    if (log.rol == "Admin")
                    {
                        return(RedirectToAction("admin"));
                    }
                    if (log.rol == "SuperAdmin")
                    {
                        return(RedirectToAction("superAdmin"));
                    }
                    if (log.rol == "Usuario")
                    {
                        return(RedirectToAction("usuario"));
                    }
                    if (log.rol == "Conductor")
                    {
                        return(RedirectToAction("conductor"));
                    }
                    return(RedirectToAction("Index"));
                }
            }
        }