【问题标题】:How do I make my sessions last cross-subdomain in Node.js Express?如何让我的会话在 Node.js Express 中持续跨子域?
【发布时间】:2011-10-27 19:40:04
【问题描述】:

我希望http://mydomain.comhttp://www.mydomain.com 相同

以及所有其他子域。

我希望保留会话和 cookie!

【问题讨论】:

    标签: javascript node.js express


    【解决方案1】:

    与快递无关。重要的是 cookie 本身的设置。将其域设置为.mydomain.com,您应该没问题。

    编辑:OP想要更多细节,所以这里是代码中的示例。

      connect.createServer(
          connect.cookieParser()
        , connect.session({ cookie: { domain : ".mydomain.com" }})
      );
    

     res.cookie('remember', 1, { domain : ".mydomain.com" });
    

    应该可以。

    【讨论】:

    • 我该怎么做?我只是使用 Express 来处理我的 cookie……我做 req.session.abc='123'; console.log(req.session.abc);
    • 如果我已经在 createServer 中完成了最后一部分(res.cookie),是否还需要它?
    • createSession 中的参数控制为支持会话而创建的 cookie。如果您手动创建任何 cookie,则必须手动设置域。我相信。试试看。
    • 对于 localhost必须有两个点domain: 'localhost' 不起作用。这确实有效:domain: '.app.localhost' 用于 app.localhost 的所有子域,例如:api.app.localhost:3000/'
    • 在此处查看我的答案以获取有关如何在 localhost 上处理它的更多信息:stackoverflow.com/a/22070413/2728686
    猜你喜欢
    • 2012-08-04
    • 1970-01-01
    • 2012-12-14
    • 2012-03-14
    • 2015-08-01
    • 1970-01-01
    • 2015-12-06
    • 1970-01-01
    • 2018-10-03
    相关资源
    最近更新 更多