1

有兴趣在每个请求上抓住用户,这样即使在没有任何风暴路径功能中间件的页面上,我也可以拥有功能。

这有什么问题吗?如果用户已登录,则返回请求对象中的用户,如果用户未登录,则返回未定义。这正是我想要的。我缺少任何“陷阱”吗?它“似乎”工作得很好。

 app.get('*', stormpath.getUser, function(req, res, next) {
  next()
});
4

1 回答 1

2

没关系,尽管您的代码不会涵盖所有路由和 http 方法。这样做可能更容易:

app.use(stormpath.getUser)

由于在 express 中,所有路由处理程序都是“中间件”,因此您可以stormpath.getUser直接传递到处理程序而无需调用函数next()

GET此外,使用 *匹配所有请求将错过任何POST, DELETE,PUT等请求。app.all将匹配所有路由和所有 HTTP 方法。

于 2016-10-02T20:33:52.367 回答