添加在每个请求上都抓住用户的匹配所有路由有什么问题吗?
Any issues with adding a match all route that grabs the user on every request?
有兴趣在每次请求时抓住用户,这样即使在没有任何 stormpath 功能中间件的页面上我也可以具有功能。
这有什么问题吗?如果用户已登录 returns 请求对象中的用户,如果用户未登录,则 returns 未定义。这正是我想要的。 'gotchas' 我遗漏了什么? 'seems' 效果很好。
app.get('*', stormpath.getUser, function(req, res, next) {
next()
});
没关系,尽管您的代码不会涵盖所有路由和 http 方法。这样做可能更容易:
app.use(stormpath.getUser)
由于在 express 中,所有路由处理程序都是 "middleware",您可以将 stormpath.getUser
直接传递给处理程序而无需调用函数 next()
。
此外,使用 * 匹配所有 GET
请求将错过任何 POST
、DELETE
、PUT
等请求。 app.all
将匹配所有路由和所有 HTTP 方法。
有兴趣在每次请求时抓住用户,这样即使在没有任何 stormpath 功能中间件的页面上我也可以具有功能。
这有什么问题吗?如果用户已登录 returns 请求对象中的用户,如果用户未登录,则 returns 未定义。这正是我想要的。 'gotchas' 我遗漏了什么? 'seems' 效果很好。
app.get('*', stormpath.getUser, function(req, res, next) {
next()
});
没关系,尽管您的代码不会涵盖所有路由和 http 方法。这样做可能更容易:
app.use(stormpath.getUser)
由于在 express 中,所有路由处理程序都是 "middleware",您可以将 stormpath.getUser
直接传递给处理程序而无需调用函数 next()
。
此外,使用 * 匹配所有 GET
请求将错过任何 POST
、DELETE
、PUT
等请求。 app.all
将匹配所有路由和所有 HTTP 方法。