我如何为我的网站上的访客创建 session ,以便他们在访问后可以在网站上购物,并将整个购物车保存到 session 中?
目前我将 Node.js 与 Passport 和 AngularJS 结合使用。
最佳答案
我想一种策略可以是:
- 如果您是访客,请将 session 数据存储在 localStorage 或 cookie 中。
- 当用户登录时,它会清除 localStorage 中的 session (最终用数据库中的一些 session 数据替换它)
- 最终,当访客注册时,您可以将访客 session 数据传输给新用户。
这很简单,只会影响您的前端部分(第三方部分除外,但它不是必须的),但是每次有人登录时,访客 session 都会丢失,而且您对 session 数据中的内容没有太多控制(最好不要有任何敏感内容)。
另一种更复杂的可能是:
- 在您身后创建仅用于访客 session 数据的 session 存储。
- 在 Cookie 中存储访客 session ID。
- 当存在访客 session ID 时,您可以从访客 session 存储中检索一些数据。
- 如果有人登录,只需忽略 Cookie 中的访客 session ID。
这解决了登录= session 丢失的问题,但后端部分还有一些重要的工作。
最后,您可以简单地将所有数据存储在“访客 cookie”中并忽略它,而不是后端访客 session 存储和 ID 系统,这取决于您想要对 session 数据进行多少控制。
关于angularjs - 在线商店的访客 session 、NodeJS/AngularJS 中的购物车,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45151824/