我想知道是否有办法让索引控制器具有索引操作。我的root是一个登录页面,我想检测用户会话是否已经过身份验证,如果是,则将其重定向到另一个页面。
是否有关于如何命名控制器的具体表示法?我已经尝试过IndexController.js和MainController.js。我似乎无法在文档中找到有关此内容的任何内容。
Sails.js Ver:0.11.0
答案 0 :(得分:3)
您需要自己制作控制器和动作。从那里,设置Policy来定义访问权限。
要制作控制器,请在控制台中运行sails generate controller Index
。
然后,打开 api / controllers / IndexController.js ,让它看起来像这样:
module.exports = {
index: function (req, res) {
// add code to display logged in view
}
};
将 config / routes.js 设置为如下所示:
module.exports.routes = {
'get /': 'IndexController.index',
};
然后,定义具有您的身份验证逻辑的策略。或者,您可以使用位于 api / policies / sessionAuth.js 的附带会话身份验证,假设您的登录操作设置为req.session.authenticated = true;
。有关详细信息,请参阅the docs on policies。
最后,将政策与 config / policies.js 中的操作相关联:
module.exports.policies = {
IndexController: {
'*': false, // set as default for IndexController actions
index: 'sessionAuth' // or the name of your custom policy
}
}