2016-06-29 5 views
1

私はAngularプロジェクトに取り組んでいますが、少し問題があります。私は本当に迷っているので、助けていただければ幸いです。基本的に私は、ユーザーがログインしているかどうかを確認する必要がある、と彼があれば、彼は特定のビュー/ルートへのアクセスを許可すべきではない、ここで私はこのために使用しているコードです。routeProviderのログインステータスを確認してください

'use strict'; 

angular.module('testApp') 
    .config(function ($routeProvider) { 
    $routeProvider 
     .when('/registroVisitante', { 
     template: '<registro-visitante></registro-visitante>', 
     resolve: { 
      "check": function(Auth, $location) { 
      console.log(Auth.isLoggedIn()); 
      if (!Auth.isLoggedIn()) { 
       alert("Access allowed"); 
      } else { 
       $location.path('/'); //redirect user to home. 
       alert("Access denied"); 
      } 
      } 
     } 
     }); 
    }); 

問題そのものこれは実際には機能していますが、アンカーのクリックやng-clickなどでルートにアクセスしようとすると、アドレスバーにルートを入力するとアクセスできるようになりますが、誰にでもどういう考えがありますか?

+0

'Auth'はバックエンドに問い合わせるサービスですか? – pulse0ne

+0

はい、ここで最初に質問していますので、皆さんを助けるような細かいことはほとんど残しませんでした –

+0

'Auth'サービスが何であるのか、あるいは少なくとも' isLoggedIn'機能が何をしているのかを投稿できれば非常に役に立ちます – pulse0ne

答えて

1

問題この

angular.module('testApp') 
    .config(function ($routeProvider) { 
     $routeProvider 
      .when('/registroVisitante', { 
       template: '<registro-visitante></registro-visitante>', 
       resolve: { 
        "check": function (Auth, $location) { 
         Auth.isLoggedIn(function (response) { 
          console.log(response); 
          if (response) { 
           $location.path('/'); //redirect user to home. 
          } 
         }); 
        } 
       } 
      }); 
    }); 

を試してみては、未定義だった場合、それは多分になった非同期要求としたということでした。

+0

これは、ありがとう! –

関連する問題