0

我正在编写一个简单的应用程序。我编写了登录/密码屏幕,它只是设置了一个会话变量:

if( docs.password == req.body.password ) {
   errors.push({ field:'password', message: 'Password Match!', mustChange: false } );
   res.json( { response: 'OK' } , 200);
   req.session.loggedIn = true;
   req.session.login = req.body.login;

一旦登录通过,客户端将被重定向到实际的应用程序(正常)。但是,此时客户端不再知道他们用于登录的登录名!(我说的是在浏览器中运行的 Javascript)

如您所见,我将用户名保存在会话中。但是,当客户端加载“应用程序”HTML 页面时,他们没有自己的登录名,因为这是一个带有全新 Javascript 的全新页面(不知道他们之前登录时使用的用户名)。

可以将它嵌入页面的 HTML 中的某个地方(就像页面正文中的全局 JS 变量?),因为它在会话中,但是......

这是如何“正常”完成的?有什么好的模式可以解决这个问题?

默克。

4

1 回答 1

0

在快递 3 中,这是如何正确地做到这一点。
https://github.com/dotcloud/express-on-dotcloud/blob/master/app/app.js#L65

您设置了一个将会话发送到所有路由模板的中间件。

于 2012-08-16T08:25:02.680 回答