在Express中继续使用中间件

我的快车应用程序有一些authentication中间件,从会话ID中确定当前用户。 我想“坚持”用户通过以下中间件。 我已经尝试将用户对象附加到res对象,但这不起作用(大概是因为JS不通过引用传递函数参数)。

我意识到像Passport这样的东西为您处理这个特定的情况,但我有兴趣解决一个问题,通过所有后续的中间件坚持一个价值。

事实上,我无法在SO或其他地方find任何这样的参考信息,导致我相信我正在尝试做一些基本错误的事情,所以请随时给我打电话。 我很乐意听到其他devise方法。

你可以使用一些叫做本地人的东西

res.locals

例如在你的情况下,你可以设置

 res.locals.id = 'something' 

这个值将在所有中间件的整个请求中持续存在,直到响应被发送。