ExpressJS - 如何强制更新会话(eli5)?

时间:2016-08-05 21:44:57

标签: node.js session express cookies memcached

我是Express和Node的新手(我来自前端开发世界),所以这可能是一个非常愚蠢的问题。

目前,我正在开发一个使用express-sessionsessionstore + memcachecookie-parser来管理会话的Express JS应用。

我有一个特定的用例,其中我有一个会话变量(age),通过中间件传递给每个视图,团队中创建应用程序的人写了:

response.locals.age = request.session.age

request.session.age是从登录期间提取的UserAccount模型中填充的。

现在,在请求到达控制器之前调用此中间件,所以当我在我的视图中看到它时,response.locals.age已经设置,它在模板中按原样显示。

我的问题是:age变量可以通过Admin界面单独重置。但由于会话仅在登录时设置,因此更改不会反映,直到我退出并再次登录。我通过再次获取age模型获得了新的UserAccount值,但我不知道如何使用新值刷新会话而无需注销并再次登录。我试过这样做:

req.session.age = res.locals.age = < UserAccountResponse >.age;

但这似乎不起作用。什么是强制刷新的理想方式? Express中的这个场景中的会话以及提到的中间件?提前谢谢!

0 个答案:

没有答案