2014-02-28 207 views
7

我有一個我正在使用的sails應用程序,我正在使用passport.js進行用戶身份驗證。我有登錄工作,以及保護我的網頁,所有系統去的政策。在我的一個頁面上,用戶正在輸入信息,所以我需要獲取當前登錄用戶的ID。我掙扎着這一點,但最終想出了使用路由Sails.js + Passport.js獲取當前登錄用戶

在控制器

$scope.$on('sailsSocket:connect', function(ev, data) { 
    sailsSocket.get(
    '/get_user', {}, 
    function(response) { 
     $scope.team_id = response.user; 
     sailsSocket.get(
     '/status_update?sort=createdAt%20ASC&team_id='+$scope.team_id, {}, 
     function(response) { 
      $scope.updates = response; 
      $log.debug('sailsSocket::/status_update', response); 
     }); 
    }); 
}); 

和路線回調

get_user: function(req, res) { 
    res.json({user:req.session.passport.user}); 
}, 

這似乎是正常工作,但我有幾個的問題。

a)這是正確的方法嗎?通過路線將這些信息提供給控制器?

b)嵌套套接字調用像這樣的好習慣?

我是新來的這個堆棧,仍然感覺我的方式通過它,所以任何反饋都非常感激。

+1

你提的問題是非常混亂的。但是你可以簡單地通過'req.user'訪問用戶登錄。 – Darwesh

回答

6

嘗試:

get_user: function(req, res) { 
    if (!req.isAuthenticated()) return res.forbidden(); 

    return res.json({user: req.user}); 
} 
相關問題