SailsJS中的非功能默认策略

时间:2015-07-29 15:57:25

标签: sails.js passport.js

我正在尝试在SailsJS中实现基本的Passport集成。在我的policies.js文件中,我有每个教程提到的默认设置。

'*': ['passport', 'sessionAuth'],

'auth': {
  '*': ['passport']
}

我的问题是,转到主页localhost:1337/似乎没有通过任何一个政策。如果我只是在那里设置false,那么一切仍然有效。如果我在false的{​​{1}}对象上设置auth,我会在任何'*'路线上获得Forbidden。所以,这些政策似乎有效,我只是不明白为什么默认的全能没有。感谢。

1 个答案:

答案 0 :(得分:2)

您是使用控制器还是直接提供样本主页中的视图?

如果您直接使用类似的内容提供视图:

// in config/routes.js
module.exports.routes = {
  '/': {
    view: 'homepage'
  }
}

然后你必须修改它并使用控制器以便能够使用策略。

创建到控制器的路径而不是视图:

// in config/routes.js
module.exports.routes = {
  // Delete the previous definition and declare a route
  // to a controller "index"
  'get /': 'indexController.home'
}

创建控制器:

// in api/controllers/IndexController.js
module.exports = {
  home: function (req, res) {
    // Render the view located in "views/homepage.ejs"
    res.view('homepage');
  }
};

然后,您将能够管理要应用于文件index中的控制器config/policies.js的政策。