2017-03-15 5 views
-2

を扱う状態プロバイダのログインおよび登録:角度JS私は角JSに新しいです、と私は、角度JSで管理パネルを作成していますが、次のように、私は問題を持っている

$stateProvider 
       .state('app', { 
        url: '', 
        templateUrl: 'menu/menu.html', 
        controller: 'menuCntrl', 
        abstract: true, 
        authenticate: true 
       }) 
       .state('dashboard', { 
        url: "/", 
        templateUrl: 'dashboard/dashboard.html', 
        controller: 'DashboardCtrl', 
        parent: "app", 
        authenticate: true 


       }) 
       .state('login', { 
        url: "/login", 
        templateUrl: 'dashboard/test.html', 
        controller: 'LoginCtrl', 
        authenticate: false 
       }) 
      $urlRouterProvider.otherwise("/"); 

これが今の私の問題がある私の現在のルーティングです私はそれを使ってログインと登録を処理する必要があります。ユーザーがログインしている場合と同様に、ユーザーだけがダッシュボードを見ることができますが、その処理方法を理解できません。

$rootScope.$on("$stateChangeStart", function (event, toState, toParams, fromState, fromParams) { 
      if (toState.authenticate) { 
       $state.go("/"); 
       event.preventDefault(); 
      }else{ 
       $state.go("/login"); 
      } 
     }) 

これは

誰でもユーザーの前にログインし、登録を処理するための最良の方法だろうかを把握するのに役立つことができます...私は試みたがない働いても、私も、登録を処理するために必要になったもですダッシュボードにリダイレクトされます。

答えて

1

:)事前に

おかげで、あなたは、ユーザーがログインするかしない保存することのlocalStorageやクッキーやセッションにいくつかの値を格納する必要があります。

ユーザーがログインしているかどうかを確認する機能を作成します。

メニューコントローラでは、ユーザーがログインしているかどうかを確認してから、ログインページでもう一度賢明にリダイレクトします。

アプリの設定と同じです。 ユーザーがログインされている場合、この使用:

$urlRouterProvider.otherwise("/login"); 
:ユーザーはこれを使用し、その後、ログインされていない場合は賢明な他の

$urlRouterProvider.otherwise("/"); 

関連する問題