Expressjs 会话仅保留在本地主机上



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

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

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

愚蠢的

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

您可以尝试设置与应用的会话。

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

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

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

最新更新