Node.js和Backbone.marionette初始视图

目前,我有一个Node.js应用程序用我的服务器端模板语言(在这种情况下,玉)服务我的静态/login/index HTML页面。 我想成功的身份validation后,返回有关当前login用户的数据,以便骨干可以开始呈现内容。

例如,我在Mongo中有一个UserGroup文档,用于存储有关User信息以及他们属于哪个组(授权信息)。

使用护照,我可以validation我的用户,并将其redirect到主页面。

 app.post('/login', passport.authenticate('local', { successRedirect: '/', failureRedirect: '/login', failureFlash: true }) ); 

redirect后,我怎么能发送有关骨干将在首次渲染的'/'骨干路由中拿起的用户的数据?

这将是res.send()即使它不是发起第一个请求的骨干,也不是使用关于用户的元数据的会话。

你需要有一个来自客户的开放请求。 尝试查看socket.io来维护页面和服务器之间的连接。 如果这太多了,可以尝试使用主干进行AJAX请求,并让服务器“保持”请求,直到login成功,然后在准备就绪时发送响应。 但是,将Ajax请求与login请求进行匹配将是一个挑战。

我认为经过身份validation的用户将拥有与他相关的cookie。 您可以parsingcookie,并在应用程序初始化时构build一个全局用户对象。 或者,您可以在页面上的脚本标记中以json格式发送用户详细信息,并使用它构buildcurrentUser对象。 我不知道这是否是这样做的最好方法; 我正在调查它自己。 很想听到这个想法/反馈。