node.js - Now.js 中的 session 支持

标签 node.js express connect nowjs-sockets

Now.js 引用:

Simply pass a connect or express http server in nowjs.initialize and this.user.session should be available.

所以:

express = require 'express'
app = module.exports = express.createServer()
connect = require 'connect'
nowjs = require 'now'
everyone = nowjs.initialize(app)

this.user 的输出是:

{ 
  clientId: '353725111301231610',
  cookie: { 'connect.sid': 's0meC00k1e1nF0rm4ti0n' },
  session: undefined 
}

知道为什么 session 未定义吗?

最佳答案

我遇到了这个问题,结果发现这是因为我在配置express之前初始化了NowJS。

app.configure(function(){
    ...

    app.use(express.cookieParser());
    app.use(express.session({ secret: "my_key", store: redisStore }));
    app.use(app.router);
});

var everyone = nowjs.initialize(app); //must be defined after app.configure

需要注意的一点是,在向服务器发出请求之前, session 不会设置,因此如果服务器重置,客户端套接字将重新连接,但在浏览器刷新页面之前, session 将处于未定义状态。

关于node.js - Now.js 中的 session 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9066834/

相关文章:

node.js - 我应该使用包管理器还是从源代码在 Ubuntu 上安装 node.js?

authentication - 检查每个 node.js 请求以获取身份验证凭据

Python连接4检查win函数

database - 将 docker-compose 连接到外部数据库

javascript - 如何使用 bookshelf 根据 API url 中的查询字符串中传递的参数过滤数据?

mysql - 将 mysql 时间戳字段转换为格式化日期 dd/mm/yyyy

node.js - 不学nodejs可以学expressjs吗

express - 在 Express 上使用带有 `app.use` 的路由参数

node.js - Node Express 未发送自定义错误消息

php - 无法访问我服务器上的数据库