示例#1
0
        public IHttpActionResult generar(Conductor conductor)
        {
            try
            {
                Conductor      conductorE = new Conductor();
                Cascaron       cascaron   = new Cascaron();
                TokenConductor token      = new TokenConductor();
                conductorE = new LRecuperarConductor().validar(conductor);

                if (conductorE != null)
                {
                    if (new LRecuperarConductor().getTokenByUser(conductor.IdConductor) == null)
                    {
                        new LRecuperarConductor().generarToken(conductor.Usuario);
                        cascaron.Tokenco = token;
                        cascaron.Mensaje = "Recibira un correo con el link para continuar con el proceso";
                    }
                    else if (token.Vigencia < DateTime.Now)
                    {
                        return(BadRequest("Token Vencido"));
                    }
                }
                else
                {
                    return(BadRequest("El usuario no exite, se encuentra sancionado o no se encuentra aceptado por el momento, por favor verifique"));
                }

                return(Ok(cascaron.Mensaje));
            }catch (Exception ex)
            {
                return(BadRequest("error"));
            }
        }
示例#2
0
        public async Task <IHttpActionResult> recuperar([FromBody] JObject contrasena, string tokenRecibido)
        {
            try
            {
                Conductor      conductor = new Conductor();
                TokenConductor token     = new TokenConductor();
                conductor.Contrasena = contrasena["Contrasena"].ToString();
                string contrasena2 = contrasena["ContrasenaConfirmada"].ToString();
                if (conductor.Contrasena.Equals(contrasena2))
                {
                    token = new LRecuperarConductor().validarToken(tokenRecibido);
                    conductor.IdConductor = token.IdConductor;

                    await new LRecuperarConductor().recuperar(conductor);
                    return(Ok("'Su contraseña fue actualizada"));
                }
                else
                {
                    return(Ok("Las contraseñas no coinciden"));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest("token no valido o algun dato esta mal escrito"));
            }
        }
示例#3
0
    protected void B_Recuperar_Click(object sender, EventArgs e)
    {
        Conductor conductor = new DaoConductor().getloginByUsuariocon(TB_User_Name.Text);

        if (conductor != null)
        {
            TokenConductor token = new TokenConductor();
            token.Creado      = DateTime.Now;
            token.IdConductor = conductor.IdConductor;
            token.Vigencia    = DateTime.Now.AddHours(2);


            token.Token = encriptar(JsonConvert.SerializeObject(token));

            new DaoSeguridadConductor().insertarToken(token);

            Correo correo = new Correo();

            String mensaje = "su link de acceso es: " + "http://localhost:55797/View/RecuperarConductor.aspx?" + token.Token;
            correo.enviarCorreo(conductor.Email, token.Token, mensaje);

            L_Mensaje.Text = "Su nueva contraseña ha sido enviada a su correo";

            //   }
        }

        else
        {
            L_Mensaje.Text = "El usuario digitado no existe";
        }
    }
示例#4
0
        public async Task <Cascaron> generar(Conductor conductor)
        {
            Conductor      conductorE = new Conductor();
            Cascaron       cascaron   = new Cascaron();
            TokenConductor token      = new TokenConductor();

            conductorE = new DaoSeguridadConductor(_context).validarExistencia(conductor);

            if (conductorE != null)
            {
                if (new DaoSeguridadConductor(_context).getTokenByUser(conductor.IdConductor) == null)
                {
                    generarToken(conductor.Usuario);
                    cascaron.Tokenco = token;
                    cascaron.Mensaje = string.Format("alert('Recibira un correo con el link para continuar con el proceso');window.location.href = 'loginConductor.aspx'");
                }
                else if (token.Vigencia < DateTime.Now)
                {
                    cascaron.Mensaje = "Token Vencido";
                }
            }
            else
            {
                cascaron.Mensaje = "El usuario no exite, se encuentra sancionado o no se encuentra aceptado por el momento, por favor verifique";
            }

            return(cascaron);
        }
 //Generar Token
 public void insertarToken(TokenConductor tokenconductor)
 {
     using (var db = new MapeoConductor())
     {
         db.token.Add(tokenconductor);
         db.SaveChanges();
     }
 }
示例#6
0
 //Generar Token
 public void insertarToken(TokenConductor tokenconductor)
 {
     using (var db = _context)
     {
         db.tokenCo.Add(tokenconductor);
         db.SaveChanges();
     }
 }
        public void generarToken(string usuario)
        {
            Conductor      conductor = new DaoConductor().getloginByUsuariocon(usuario);
            TokenConductor token     = new TokenConductor();

            token.Creado      = DateTime.Now;
            token.IdConductor = conductor.IdConductor;
            token.Vigencia    = DateTime.Now.AddMinutes(60);

            token.Token = encriptar(JsonConvert.SerializeObject(token));

            new DaoSeguridadConductor().insertarToken(token);

            String mensaje = "Su token de recuperacion es:" + token.Token + "\nRecuerde que tiene 1 hora de vigencia para realizar al acción";

            enviarCorreo(conductor.Email, token.Token, mensaje);

            Cascaron cascaron = new Cascaron();

            cascaron.Mensaje = "Su nueva contraseña ha sido enviada a su correo";
        }
        public async Task <ActionResult> recuperar([FromBody] JObject contrasena, string tokenRecibido)
        {
            Conductor      conductor = new Conductor();
            TokenConductor token     = new TokenConductor();

            conductor.Contrasena = contrasena["Contrasena"].ToString();
            string contrasena2 = contrasena["ContrasenaConfirmada"].ToString();

            if (conductor.Contrasena.Equals(contrasena2))
            {
                token = new LRecuperarConductor(_context).validarToken(tokenRecibido);
                conductor.IdConductor = token.IdConductor;

                await  new LRecuperarConductor(_context).recuperar(conductor);
                return(Ok("'Su contraseña fue actualizada"));
            }
            else
            {
                return(Ok("Las contraseñas no coinciden"));
            }
        }