使用sas js

时间:2016-02-17 10:01:30

标签: angularjs node.js sails.js jwt satellizer

我想在我的系统中增加限制。然后我使用了JWT令牌。然后我更喜欢使用statellizer作为前端。

一旦用户登录system.it将生成这样的标记

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6InRlc3RAZ21haWwuY29tIiwiaWF0IjoxNDU1NzAzNTE5fQ.I6z8jlXx4H1R3gNOAnOysdI0qyeU01GAlnYWeQZKThs

但是,用户成功登录系统时会出现这种情况。它会重定向到仪表板,但令牌不会与请求绑定。

其他请求仅在仪表板中正常工作。

控制器中的登录功能

         $scope.authLogin = function () {
           $auth.login({
             email: $scope.email, password: $scope.password
           }).then(function(res){
             //userService.setUser(res.data.user);
             toastr.success('Successfully login ', 'Message', {
               closeButton: true
             });
             window.location = '/dashboard';
           }).catch(function onError() {
               toastr.error('Invalid email/password combination.', 'Error', {
                 closeButton: true
               });
           });
         };

路由文件

'/login'  : { view: 'static/login'},
'/signup' : { view : 'static/signup'},
'/'       : { view: 'static/login' },
'GET /dashboard' : 'PageController.showDashboard', 

政策文件

  'UserController':{
    '*':['jwtAuth'],
    authLog : true
   // signUp : true
  },

  'PageController': {
    '*': ['jwtAuth']
  }

我想让任何人无法在没有令牌的情况下访问仪表板。我希望我的问题很明确。

谢谢

1 个答案:

答案 0 :(得分:0)

我试过的方式,这是错误的,因为当我们调用 GET / dashboard 函数时,无法将令牌与请求绑定。这种方法完全适用于session。

我使用了以下方法。它对我有用。用帆来处理JWT比较方便。

json-web-tokens-examples with sails