Foro

Home Forums Frameworks y librerías Framework 7 cual es la mejor manera de autenticar usuarios

This topic contains 8 replies, has 3 voices, and was last updated by juan juan 3 años, 4 meses .

Viendo 9 respuestas - de la 1 a 9 (de 9 en total)
  • cual es la mejor manera de autenticar usuarios

    Intervenciones
  • juan
    juan 
    Participant

    Hola,

    alguien me puede orientar sobre la mejor manera de autenticar un usuario, ya tengo la parte del servidor (en php y mysql),

    pero necesito que cuando ingrese a la aplicacion verifique si ya esta logueado abra la pagina index.html
    si no esta logueado abra la pagina login.html.

    vi este ejemplo en la documentación pero no supe usarlo. no me hizo nada ni tampoco me marco error.
    trate de validarlo preguntando si el localstorage.login estaba en null
    pero no me funciono.

    alguien me puede contar como lo hacen ustedes?

     Code: arbitrary (select
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.

    var myApp = new Framework7({
        preroute: function (view, options) {
            if (!userLoggedIn) {
                view.router.loadPage('login.html'); //load another page with auth form
                return false; //required to prevent default router action
            }
        }
    });


    aGiraldo 
    Participant

    Saludos

    http://revolucion.mobi/2013/04/12/login-en-servidores-externos-con-phonegap/

    Luego con localstorage podrias almcenar ese login si esta correcto, para que luego ingrese sin problemas


    juan
    juan 
    Participant

    Muchas gracias me sirvio de gran ayuda.


    Daniel
    Daniel 
    Participant
     Code: arbitrary (select
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.
    9.
    10.
    11.
    12.
    13.
    14.
    15.
    16.
    17.
    18.
    19.
    20.
    21.
    22.
    23.
    24.
    25.
    26.
    27.
    28.
    29.

    $.ajax({
      type: 'POST',
      url: urlLogin,
      data: {
          user : $('#username').val().trim(),
          passwd : md5($('#password').val().trim()),
          param : param
          },
      dataType: 'json',
      cache: false,
      crossDomain: true,
      timeout: 90000,
      beforeSend: function() {
        //acción o mensaje que ejecutaras antes del request
      },
      success: function(response) {
        //acción que haras al responder el resquest
        if (response.status) {
          //accion que haras en caso de que los datos enviados a tu API sean VÁLIDOS
        } else {
          //accion que haras en caso de que los datos enviados a tu API sean INVÁLIDOS
        }
      },
      error: function(jqXHR, textStatus, errorThrown){
        //accion que haras en caso de ERROR en el request
      },
      complete: function(jqXHR, textStatus){
        //accion que haras cada vez que se complete request
      }

    p/d: no hay “una mejor manera”, tal vez alguna más práctica u otra más segura dependiendo de la App que estés desarrollando y la seguridad que le quieras dar.

    • This reply was modified 3 años, 4 meses by Daniel Daniel.

    • This reply was modified 3 años, 4 meses by Daniel Daniel.
    juan
    juan 
    Participant

    gracias, por tu aporte

    ya puedo validar el login con mi base de datos en el servidor hasta ahi ya todo me funciona correctamente,

    estoy trabajando con el framework7

    tengo un index.html
    y un login.html

    estoy almacenando una variable en localstorage para saber si esta logueado o no,

    pero no se como enviar a una pagina o a otra,

    o mejor dicho si se como hacerlo pero como estoy usando el sidepanel, cuando no esta logueado me abre el login
    pero el sidepanel sigue ahi y pues pierde seguridad, la idea es que si esta en login no pueda navegar la aplicacion

    es por esto que puse en mi primer mensaje esta opcion que encontre en la documentacion, pero no supe usarlo
    porque no me funciono

    tienen alguna idea?

    pongo alerts y todo dentro del preroute pero parece ser que no se ejecutara porque no hace nada.

     Code: arbitrary (select
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.

    var myApp = new Framework7({
        preroute: function (view, options) {
            if (!userLoggedIn) {
                view.router.loadPage('login.html'); //load another page with auth form
                return false; //required to prevent default router action
            }
        }
    });


    Daniel
    Daniel 
    Participant

    Podrías usar el “index” como vista inicial sin login y cuando la API válide los datos del login navegar a un #home.html

     Code: arbitrary (select
    1.
    2.
    3.
    4.
    5.
    6.

    if(response.result === 'success'){
                    mainView.router.loadPage({url:'home.html', ignoreCache:true, reload:true});
                    mainView.router.refreshPage();
                }else{
                    myApp.alert('Sus datos de accesos son incorrectos, intente nuevamente.', _APP_TITLE);
                }


    juan
    juan 
    Participant

    hola,
    muchas gracias, ya con esto me funciona mejor

    una ultima pregunta.
    cual es la funcionalidad de

    mainView.router.refreshPage();

    y de estos parametros
    ignoreCache:true, reload:true

    ya que si uso solo así: mainView.router.loadPage({url:’home.html’});

    me abre la pagina normalmente y actualiza toda la vista.

    es decir cual es la diferencia de ponerlos o no ponerlos.


    Daniel
    Daniel 
    Participant

    La idea es asegurarse de que no quede info cacheada que pueda dar darte parámetros corruptos o desactualizados almacenados en la RAM, esto dependerá de si utilizas información almacenada en memoria. Podrá variar la metodología de acuerdo a la arquitectura de tu App, si utilizas parámetros en memoria, el comportamiento de la app en segundo plano, etc.


    juan
    juan 
    Participant

    listo entendido, muchísimas gracias por tu colaboración me ha servido mucho.


Viendo 9 respuestas - de la 1 a 9 (de 9 en total)

You must be logged in to reply to this topic.

RT @addyosmani: Learn how to virtualize large lists & tables with react-window: https://t.co/ggzMgmX6zP ~ a small library for efficiently r…04:25 PM Jun 26th