gpt4 book ai didi

node.js - 手动更改路由后 mediator.user 丢失

转载 作者:太空宇宙 更新时间:2023-11-03 22:18:36 25 4
gpt4 key购买 nike

我正在构建一个带有 Passport 本地身份验证的单页应用程序。用户经过身份验证并在 app.post "/login" 内返回返回 userobject 后,我​​将其保存在 Chaplin.mediator.user 中(如 facebook-example 中所示)。只要我不手动更改 URL,一切都会正常工作,但是当我更改 URL 并按 Enter 键时,应用程序会再次加载,但使用不同的路线 --> 前端没有用户。

我现在正在做的是每次手动更改路由时,我都会向服务器发送请求并在 req.user 中询问用户。收到用户后,应用程序将继续其工作流程。它有效,但我不认为这就是它的本意。如果您不等待响应,尽管您已登录,但您最终将没有用户对象。

如何解决这个问题?

编辑:我最终将用户保存在单独的 cookie 中。这就是我保存用户的方法:

  $.cookie.json = true;
$.cookie 'user', user.toJSON()

这就是我在页面加载后提取用户的方法:

  userCookie = $.cookie 'user'
if userCookie?
mediator.user = new Model JSON.parse userCookie

您需要jquery-cookie plugin使其发挥作用。如果用户注销,请不要忘记删除 cookie。当然,我仍然对其他想法持开放态度。

最佳答案

您应该在本地存储用户(也称为 session )。当 Backbone 应用程序加载时,您应该将用户路由到正确的位置(如果他们实际上已经登录)。

关于node.js - 手动更改路由后 mediator.user 丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13592998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com