在线商店的访客会话,NodeJS / AngularJS中的购物车

时间:2017-07-17 19:05:36

标签: angularjs node.js passport.js

我如何为我网站上的访客进行会话,以便访问后可以在其上购物,整个购物车会保存到会话中?

此时我将Node.js与Passport和AngularJS一起使用。

1 个答案:

答案 0 :(得分:2)

我猜一个策略可能是:

  • 如果您是来宾,请将会话数据存储在localStorage或cookies中。
  • 当用户登录时,它会清除localStorage中的会话(最终将其替换为数据库中的某些会话数据)
  • 最后,当访客注册时,您可以将访客会话数据传输给新用户。

这很简单,只影响你的前端部分(第三部分除外,但不是必须的),但是每次有人登录时,访客会话都会丢失,你也无法控制会话数据中的内容(最好不要有任何敏感信息)。

另一个更复杂的问题可能是:

  • 在您身后创建会话存储,仅用于访客会话数据。
  • 将Cookie存储在访客会话ID中。
  • 如果有访客会话ID,您可以从访客会话中检索一些数据。
  • 如果有人登录,只需忽略Cookie中的访客会话ID。

这解决了登录=丢失会话的问题,但后端部分有一些严肃的工作。

最后,您可以将所有数据存储在"来宾cookie中,而不是后端访客会话存储和ID系统。并且也忽略它,它取决于您对会话数据的控制程度。