2

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

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

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

4

2 回答 2

2

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

于 2012-05-06T21:15:05.723 回答
0

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

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

于 2012-05-06T20:05:23.860 回答