Mean.js req.isAuthenticated显示失败?

时间:2015-11-21 11:21:18

标签: node.js express passport.js meanjs passport-local

我已经下载了meanjs version@0.1.12。我已经使用了两个服务器用于前端我hvae使用angular with ionic它在localhost:3000中运行,对于后端我使用了meanjs.in that meanjs我已经创建了注册,签名和文章。当我使用meansjs作为后端和前端它工作正常。但是当我连接到另一台服务器(localhost:3000)注册并且签名工作正常但是当我创建文章时我是获得401 req.isAuthenticated()函数的未经授权的bcoz。当我创建文章模块req.isAuthenticated()获取fail.req.isAuthenticated()我不应该为此函数传递什么我已经包含了我的代码任何人帮助我

现在我正在传递这样的数据

    $http.post('http://192.168.1.14:3000/articles', credentials).success(function(response,data,errorResponse) {
            // If successful we assign the response to the global user model
            //$scope.authentication.user =response;
             console.log(response);

             console.log(data);
            // And redirect to the index page
            $location.path('/tab/account');
        }, function(response,data,errorResponse) {
            $scope.error = errorResponse.data.message;
            console.log($scope.error);
            console.log(data);
        });

路线:

app.route('/articles')
        .get(users.requiresLogin,articles.list)
        .post(users.requiresLogin,articles.create);

登录检查

/**
 * Require login routing middleware
 */
exports.requiresLogin = function(req, res, next) {
    //console.log(req.isAuthenticated());
    console.log(req);
    if (!req.isAuthenticated()) {
        return res.status(401).send({
            message: 'User is not logged in'
        });
    }

    next();
};

/**
 * User authorizations routing middleware
 */
exports.hasAuthorization = function(roles) {
    var _this = this;
console.log('sss');
    return function(req, res, next) {
        _this.requiresLogin(req, res, function() {
            if (_.intersection(req.user.roles, roles).length) {
                return next();
            } else {
                return res.status(403).send({
                    message: 'User is not authorized'
                });
            }
        });
    };
};

1 个答案:

答案 0 :(得分:0)

我想我遇到了同样的问题。确保检查服务器端的策略文件夹。

roles: ['user'],
allows: [{
  resources: '/articles',
  permissions: ['get', 'post']
}, {
  resources: '/articles/:articlesId',
  permissions: ['get']
}, {
  resources: '/articles',
  permissions: ['post']
}]

添加资源路径/articles和权限。