2016-12-14 103 views
2

我正在創建一個應用程序在ionic2中。我面臨的一個問題是,如果我在刷新頁面時成功登錄,它又會強制我登錄屏幕,但不應該像我已經登錄。在Ionic2中登錄驗證

我已經使用Ionic 2與菜單作爲踢開始。

步驟我做:

  1. 設置根頁爲第1頁的Loginpage insteed哪一個是默認的app.component.ts文件。

    rootPage: any = Loginpage;

  2. 在點擊提交重定向到新創建的homepage.ts爲:

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

  3. homepage.ts,我把我的根頁的任何一個頁面的說第2頁爲:

    this.navCtrl.setRoot(Page2);

    • 現在成功登錄後,我被正確地重定向到Page2,但是如果我在此時重新加載頁面,它又將我推回到登錄頁面(但我已經登錄)。

    • 所以問題是如何克服這個問題?

    • ion2中登錄驗證的更好方法是什麼?

+0

你在電話/模擬器中做這個嗎?以及如何檢查如果登錄 –

+0

基本上我正在測試它在Chrome瀏覽器本身沒有安裝在手機中的應用程序。我正在使用由PHP laravell框架創建的login api,並將其重定向到主頁。 –

+0

你可以請建議是我使用正確的方式或他們是離子2中使用的另一種方式。我的意思是有一個模塊用於執行此操作,或者我們按照自定義的方式執行操作...... ??這是我的主要疑問。 –

回答

1

你基本上使用離子擔任瀏覽器。它會重新加載整個應用程序。你將不得不在模擬器/手機中進行測試。

關於你的問題有辦法:

登錄後,你應該將root設置爲主頁,而不是推。

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

並稍後推送其他頁面。

this.navCtrl.push(Page2); 

維護導航堆棧。 檢查Navcontroller在這裏。

+0

謝謝suraj我會看看它。 –

+0

嗨蘇拉傑你可以請幫助我在這個問題上: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); 
      }); 
     }