2017-03-29 11 views
1

私はまだangularjsを初めて学び、概念を理解しようとしています。私は実用的な解決策を持っていますが、これが安全な方法であることを確認する必要があります。私は$rootScope.$on('$stateChangeStart', function(){}がphpファイルにhttp投稿を送ります、これはセッションデータを持っているかどうかを確認し、 "1"が真、 "0"が偽であることを返します。 falseの場合、ログインページにリダイレクトする$state.go('login');を実行します。これは正確にどのように私はそれを望むが、ちょうどこれが十分に安全である場合いくつかのさらなる知識が欲しい。http投稿を使用してセッションを確認してリダイレクト

答えて

0

セッションデータの認証にはいくつかの方法がありますが、あなたのアプローチも問題ありません。

$onapp.runの方法で囲み、ユーザーがログインページにいるかどうかを確認してから$httpコールを避けてください。

app.run(function ($rootScope, $state) { 
    $rootScope.$on('$stateChangeStart', function (event, next, nextParams, prev, prevParams) { 

     //Check if already on login page do not check session 
     if (next.name === 'login') { 
      return; 
     } 

     //$http call to check session 
    }); 
}); 
0

これは私がそれをしたいが、これは十分に安全である場合だけで、いくつかのさらなる知識をしたいと思います正確にどのように動作します。

JavaScriptや角などのフレームワークを使用している場合は、セッションについては忘れてください。 token based authenticationシステムを使用すれば、多くの利点、より多くのセキュリティとスケーラビリティを提供することができます。

非常に良い例がありますhereです。これは、あなたが必要とするトークンベース認証のほぼすべての側面をカバーしています。それはionicですが、問題ではありません。イオンは角度の上に構築されます。

関連する問題