Javascript 使用backbone.js的用户会话

Javascript 使用backbone.js的用户会话,javascript,jquery,backbone.js,requirejs,Javascript,Jquery,Backbone.js,Requirejs,我正在使用Backbone.js和require.js编写一个web应用程序,它需要存储用户信息,以便在用户登录时在整个应用程序中使用。当前,当用户提交凭据时,web服务将对该用户进行身份验证并返回有关该用户的数据。传统上,我可以将这些信息存储在会话中。如何使用主干网来实现这一点 您可能想使用HTML5来实现这一点。查看用于主干网集成的会话存储适配器。通常将身份验证信息存储在加密cookie中,并在每次请求时发送到服务器。这本质上是一个将登录用户与web服务器的标识存储关联起来的值 您可能对概要

我正在使用Backbone.js和require.js编写一个web应用程序,它需要存储用户信息,以便在用户登录时在整个应用程序中使用。当前,当用户提交凭据时,web服务将对该用户进行身份验证并返回有关该用户的数据。传统上,我可以将这些信息存储在会话中。如何使用主干网来实现这一点

您可能想使用HTML5来实现这一点。查看用于主干网集成的会话存储适配器。

通常将身份验证信息存储在加密cookie中,并在每次请求时发送到服务器。这本质上是一个将登录用户与web服务器的标识存储关联起来的值


您可能对概要文件数据(即关于用户名、生日等的元数据)更感兴趣。用户登录后,当页面加载时,通过对服务器的ajax调用获取关于当前用户的概要文件数据(请求将包括auth cookie,web框架将使用该cookie查找当前登录的用户)。因此,您应该在web应用程序上公开一个路由,该路由返回一个json数据结构,其中包含您的应用程序需要的有关当前用户的配置文件数据。

我目前正在编写一个大型主干/木偶应用程序。我将用户信息(不是密码或其他类似信息)存储在一个名为user的模型中。然后,我使用这个模型首先通过检查sessionid来验证用户

// before every request
if (app.Core.models.user.get('sessionid') != "") {
  // then I run the code.  Authentication can still fail on the server.
} else {
  // trigger the event to bring up the sign in page
  app.vent.trigger('App:Core:Login');
}
用户登录应用程序后,我将从身份验证中收到的信息保存在
app.Core.models.user
model中。由于我的身份验证没有返回完整的用户名,因此我进行了一个单独的ajax调用来检索该信息,并将该信息存储在模型中。然后,我将模型绑定到页面的一个部分,该部分会自动更新页面标题中的用户名


浏览器会自动存储一个加密的cookie,这样我就不必将这些信息发送回服务器。

通常,我不赞成引用这些信息。作为有关会话存储的补充参考,我想添加更为冗长和详细的MDN文档: