2016-12-14 64 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); 
      }); 
     }