示例#1
0
    protected void B_Recuperar_Click(object sender, EventArgs e)
    {
        EUsuario usuario = new DaoUser().getUserByUserName(TB_UserName.Text);

        if (usuario != null)
        {
            EToken validarToken = new DaoSeguridad().getTokenByUser(usuario.Id);



            EToken token = new EToken();
            token.Creado   = DateTime.Now;
            token.UserId   = usuario.Id;
            token.Vigencia = DateTime.Now.AddHours(2);


            token.TokenGenerado = encriptar(JsonConvert.SerializeObject(token));
            new DaoSeguridad().insertarToken(token);

            Correo correo = new Correo();

            String mensaje = "su link de acceso es: " + "http://*****:*****@gmail.com", token.TokenGenerado, mensaje);

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

        else
        {
            L_Mensaje.Text = "El usuario digitado no existe";
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString.Count > 0)
        {
            EToken token = new DaoSeguridad().getTokenByToken(Request.QueryString[0]);


            if (token == null)
            {
                this.RegisterStartupScript("mensaje", "<script type='text/javascript'>alert('El Token es invalido. Genere uno nuevo');window.location=\"Login.aspx\"</script>");
            }
            else if (token.Vigencia < DateTime.Now)
            {
                this.RegisterStartupScript("mensaje", "<script type='text/javascript'>alert('El Token esta vencido. Genere uno nuevo');window.location=\"Login.aspx\"</script>");
            }

            else
            {
                Session["user_id"] = token.UserId;
            }
        }

        else
        {
            Response.Redirect("Login.aspx");
        }
    }