在Express中继续使用中间件
我的快车应用程序有一些authentication中间件,从会话ID中确定当前用户。 我想“坚持”用户通过以下中间件。 我已经尝试将用户对象附加到res
对象,但这不起作用(大概是因为JS不通过引用传递函数参数)。
我意识到像Passport这样的东西为您处理这个特定的情况,但我有兴趣解决一个问题,通过所有后续的中间件坚持一个价值。
事实上,我无法在SO或其他地方find任何这样的参考信息,导致我相信我正在尝试做一些基本错误的事情,所以请随时给我打电话。 我很乐意听到其他devise方法。
你可以使用一些叫做本地人的东西
res.locals
例如在你的情况下,你可以设置
res.locals.id = 'something'
这个值将在所有中间件的整个请求中持续存在,直到响应被发送。
- res.sendfile()不提供javascripts
- 无法使用multer从req对象访问req.files
- 如何使用Mongoose,Express,Angular 4和NodeJS上传/保存和显示图片
- 如何用Node.js正确设置Coffeescript
- NodeJS Express app.locals不能直接在函数中访问
- 在redis.conf中使用requirepass时,将express.js应用程序连接到redis服务器时出错
- Node.js和Forever“退出代码:0”
- 在res.redirect上传递variables
- 将追随者子文档扩展到Mongoose / Express中的控制器