使用connect-flash和sails.js

时间:2016-08-21 12:23:50

标签: sails.js passport-local connect-flash

我正在尝试将connect-flash与sails.js一起使用,根据sailsjs http://sailsjs.org/documentation/concepts/middleware的中间件文档,这就是我所做的

passportInit    : require('passport').initialize(),
passportSession : require('passport').session(),
flash           : require('connect-flash'),

order: [
  'startRequestTimer',
  'cookieParser',
  'session',
  'passportInit',
  'passportSession',
  'flash',
  'myRequestLogger',
  'bodyParser',
  'handleBodyParserError',
  'compress',
  'methodOverride',
  'poweredBy',
  '$custom',
  'router',
  'www',
  'favicon',
  '404',
  '500'
]

这就是我的AuthController.js的外观(因为我使用带护照的连接闪存)

module.exports = {

_config: {
    actions: false,
    shortcuts: false,
    rest: false
},

'login': function(req, res,next) {

    passport.authenticate('local', { successRedirect: '/user/dashboard',
        failureRedirect: '/login',
        failureFlash: true })(res,req,next);
},

'logout': function(req, res) {
    req.logout();
    res.redirect('/');
}

};

但是在队列页面中添加flash后,永远不会完成加载,它永远不会渲染。请任何人帮我这个吗?我不知道如何使这项工作。提前谢谢。

2 个答案:

答案 0 :(得分:1)

我使用Express' flash module取得了更多成功。

在我的config/http.js

middleware : {
  flash : require('flash')(),
  ...
  order : [
    ...
    'passportInit',
    'passportSession',
    'flash',
    'bodyParser',
    ...
  ],
  ...
}

答案 1 :(得分:0)

我花了很长时间,并且无法让这个包与销售人员合作,我相信我一定会遗漏一些东西,但是我找到了另一个包 sails-hook-flash 的插件玩风帆应用