NodeJs 路由中间件错误
NodeJs routing middleware error
我正在尝试实现一个中间件,该中间件将在服务器交付页面之前检查用户是否经过身份验证。尽管看起来这样做的过程很简单,但节点抛出了一个错误,指出"发送后无法设置标头"。
我的路由器代码是:
module.exports = function(app) {
app.get('/', checkAuth, require('./myAuthenticatedPage').get);
app.get('/login', require('./myLoginPage').get);
};
我的身份验证页面.js:
exports.get = function(req, res) {
res.render('index');
};
我的登录页面.js:
exports.get = function(req, res) {
res.render('login');
};
检查身份验证.js:
module.exports = function (req, res, next) {
if(!req.session.user) {
res.redirect('/login');
}
next();
}
对此的任何帮助将不胜感激。
谢谢
如果未通过身份验证,则将重定向用户,然后尝试呈现索引页。这会导致 http 标头发送两次,因此出现错误"发送后无法设置标头"。
在检查身份验证中.js请尝试:
module.exports = function (req, res, next) {
if(!req.session.user) {
res.redirect('/login');
} else {
next();
}
}
相关文章:
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 什么'在Express中路由时,应用程序级中间件和路由器级中间件之间的区别是什么
- Redux中间件在next()之前更改状态
- 快速的套接字 io 实例/中间件
- 如何使用Express'正确加载图像;s的静态中间件
- 如何在快递中制作中间件的动态链.js
- Highstock,错误:未捕获的类型错误:w[(中间值)(中间值)(中间值)]不是构造函数
- 在 Redux 中,在商店中应用中间件未正确称为化简器
- Express.js恶意路径中间件错误403
- “错误:连接 ENOENT”当节点快速中间件发出 POST 请求(使用节点请求库)时
- NodeJs 路由中间件错误
- Ajax 在快速中间件中访问第三方服务器会导致 500 错误
- 我的错误处理程序如何优先于早期的中间件
- 创建路由得到 Router.use() 的错误需要中间件功能
- Express.js:从路由处理程序中调用next(error)会调用全局错误处理中间件吗?
- 错误:passport.initialize()中间件未按调用顺序使用
- 错误处理和404处理中间件的顺序
- NodeJs错误v-host中间件
- 退出当前的中间件链而不抛出错误
- 承诺和错误处理中间件