Estoy creando una aplicación en ionic2. Me enfrento a un problema que, al iniciar sesión correctamente en la aplicación, si actualizo la página, nuevamente me obliga a iniciar sesión en la pantalla, pero no debería, ya que he iniciado sesión.

He usado Ionic 2 con menús como punto de partida.

Pasos que hice:

  1. Establezca la página raíz como Página de inicio de sesión en lugar de Página 1, que era la predeterminada en el archivo app.component.ts.

    rootPage: any = Loginpage;

  2. Al hacer clic en enviar, redireccionar al homepage.ts recién creado como:

    this.navCtrl.push(Homepage,{});

  3. En homepage.ts, configuro mi página raíz como cualquiera de una página dice page2 como:

    this.navCtrl.setRoot(Page2);

    • Ahora, al iniciar sesión correctamente, se me redirige a la página 2 correctamente, pero si vuelvo a cargar la página en este momento, me devuelve a la página de inicio de sesión (pero ya he iniciado sesión).

    • Entonces, la pregunta es ¿cómo solucionar este problema?

    • ¿Cuál es el mejor enfoque para la autenticación de inicio de sesión en ionic2?

2
Narendra Vyas 14 dic. 2016 a las 13:12

2 respuestas

La mejor respuesta

Básicamente está utilizando servicio iónico en el navegador. Recargará toda la aplicación. Tendrá que probarlo en el emulador / teléfono.

Respecto al enfoque que tienes en la pregunta:

Después de iniciar sesión, debe establecer la raíz como página de inicio en lugar de presionar.

this.navCtrl.setRoot(Homepage,{});

Y empuje las otras páginas más tarde.

this.navCtrl.push(Page2);

Para mantener la pila de navegación. Consulte Navcontroller aquí.

1
Suraj Rao 14 dic. 2016 a las 10:30
  • puede almacenar la bandera en el almacenamiento local, si obtiene esta bandera, redirija a su página de inicio o página de inicio de sesión
  • Escriba el código a continuación en su app.component.ts

 import { Platform, App } from 'ionic-angular';

 constructor(public platform  : Platform,
             public app       : App )
        {
          platform.ready().then(() => {
               if(localStorage.getItem('appToken'))
                   this.app.getRootNav().setRoot(TabsPage);
               else
                  this.app.getRootNav().setRoot(LoginPage);
          });
       }
2
jinal 22 may. 2017 a las 13:22