Sails.js 创建索引(根)控制器

Posted

技术标签:

【中文标题】Sails.js 创建索引(根)控制器【英文标题】:Sails.js create Index(root) Controller 【发布时间】:2015-08-16 22:41:31 【问题描述】:

我想知道是否有办法让索引控制器具有索引操作。我的根是一个登录页面,我想检测用户会话是否已经过身份验证,如果是,则将它们重定向到另一个页面。

控制器的命名是否有特定的符号?我已经尝试过 IndexController.js 和 MainController.js。我似乎在文档中找不到任何关于此的内容。

Sails.js 版本:0.11.0

【问题讨论】:

【参考方案1】:

您需要自己制作控制器和动作。从那里,设置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
  

【讨论】:

以上是关于Sails.js 创建索引(根)控制器的主要内容,如果未能解决你的问题,请参考以下文章

Sails.js:生产环境 +sails-mysql - 提升时未创建数据库表

Sails.js WebSocket 如何创建新通道?

使用 Passport.js 和 Sails.js 注册后如何重定向到特定位置?

Sails.js / Waterline - 创建不是模型上的功能

Sails.js:新创建的记录在刷新之前不会填充到页面上

AngularJS +sails.js