2016-12-14 6 views
2

私はionic2でアプリを作成しています。私は、アプリでログインに成功したときにページを更新すると再びログイン画面に陥るが、私はログインしていないはずではないという問題に直面している。Ionic2のログイン認証

私はキック開始。私がやった

ステップ:

  1. 設定ルートページ1がapp.component.tsファイルのデフォルトだったのPage1のLoginpageのinsteedとして。

    rootPage: any = Loginpage;

  2. 新しくとしてhomepage.tsを作成するためにリダイレクト提出クリックオン:

    homepage.ts

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

  3. を1ページのいずれかのようにPAGE2を言うように、私は私のルート・ページを設定します

    this.navCtrl.setRoot(Page2);

    • 私はページ2に正しくリダイレ​​クトされましたが、この時点でページをリロードすると、再びログインページに戻ります(しかし、私はすでにログインしています)。

    • この問題を解決するにはどうすればいいですか?

    • ionic2のログイン認証の方が優れています。

+0

これは電話機/エミュレータで行っていますか?ログインしているかどうかチェックしているのですか? –

+0

基本的には、電話機にインストールされていないChromeブラウザ自体でテストしています。私は、PHPのlaravellフレームワークで作成されたlogin apiを使用しています。成功した場合はホームページにリダイレクトしています。 –

+0

私は正しい方法を使用しているか、ionic2で使用されている別の方法をお勧めしますか?私は、これを実行するために使用されるモジュールがあるか、または私がカスタム方法で行ったようにモジュールを作成していますか?これは私の主な疑問です。 –

答えて

1

あなたは基本的に、イオンのブラウザ上でサーブを使用しています。それはアプリ全体をリロードします。これはエミュレータ/電話でテストする必要があります。あなたは疑問を持っているアプローチについて

ログインした後、あなたの代わりにプッシュのホーム・ページとしてルートを設定する必要があります。

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

とし、後で他のページをプッシュします。

this.navCtrl.push(Page2); 

ナビゲーションスタックを維持する。 ここでNavcontrollerを確認してください。

+0

ありがとうsuraj私はそれを見ます。 –

+0

こんにちはSurajこの問題について私を助けてください:http://stackoverflow.com/questions/41297845/preventing-loging-out-on-pressing-back-button-ionic2 ...事前に感謝 –

0
    あなた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); 
      }); 
     }