【问题标题】:Expressjs session only persists on localhostExpressjs 会话仅在 localhost 上持续存在
【发布时间】:2015-12-11 21:10:45
【问题描述】:

我在 node/express 中创建了一个简单的网页,它有一个简单的登录系统。我测试用户是否登录的方式基本上是检查 req.session.user 是否存在,它是在登录时创建的,并且会话在注销时被销毁。

只要客户端连接到http://localhost:8000,它就可以很好地工作,但是,如果我连接到http://10.0.1.6:8000,每个请求都会创建一个新的会话对象,这意味着我永远无法检查用户是否真的登录了。

这是为什么?我需要连接到http://10.0.1.6:8000,因为我正在从 android 测试我的客户端(其中 localhost 是 android 设备,而不是我的服务器/计算机)。

【问题讨论】:

    标签: node.js express


    【解决方案1】:

    愚蠢的我,累了就停止编程。我在本地运行 index.html 文件,而不是从服务器运行(跨域 cookie?我笑你!)

    【讨论】:

      【解决方案2】:

      您可以尝试与您的应用建立会话。

      var app = express.createServer();
      app.use(express.cookieParser(...));
      app.use(express.session(...));
      

      根据文档,您还必须在设置会话之前使用 cookieParser()。

      http://expressjs.com/guide.html http://www.senchalabs.org/connect/middleware-session.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-06-25
        • 2014-02-12
        • 1970-01-01
        • 2012-06-11
        • 2023-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多