2016-05-16 78 views
0

我是angularjs的新手我想檢查我的用戶是否通過登錄 我是新手在angularjs我想檢查我的用戶是否登錄通過 通過$ routeChangeStart

控制器

angular.module('crud') 
    .controller('SigninCtrl', function ($scope,$location,User,$http) {    


    $scope.signin = function(){ 

    var data={ email:$scope.email,password:$scope.password} 


     //console.log(typeof user); 

     var user=User.signin(data); 
     //console.log(typeof user); 
    user.success(function (data) { 
        console.log("token signin",data); 
        var token=data.token; 
       localStorage.setItem('id_token', token); 
        $location.path("/todo"); 
       }) 
       .error(function (data) { 
        //Do whatever is needed 
       console.log(data); 

       }); 


     } 

    }); 

回答

0

而不是設置在localStorage的令牌,把它放在一個session cookie。您可以通過角度使用$cookies服務。在$routeChangeStart事件中,您可以檢查是否存在此cookie,並決定是否用戶登錄或不登錄。

+0

可以ü把一個例子嗎? – letseasy

0

示例代碼:

angular.module('crud', []) 
.run(['$rootScope', function ($rootScope) { 
    $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState) { 
    var token = localStorage.getItem('id_token'); 
    /* 
    *..validate your token here.. 
    */ 
    } 
}]);