使用NodeJS和ExpressJS为域而不是子域设置cookie

问题描述:

我一直在使用expressjs和mongostore进行会话管理。以下是以expressjs配置商店的代码,使用NodeJS和ExpressJS为域而不是子域设置cookie

app.configure(function(){ 
    app.use(express.session({ 
     secret: conf.secret, 
     maxAge: new Date(Date.now() + 3600000), 
     cookie: { path: '/' }, 
     store: new MongoStore(conf.db) 
    })); 
}); 

我已经在上面的代码中提到了cookie路径。但它将cookie设置为sub.domain.com而不是.domain.com。我如何实现这一目标?

+2

请记住,设置cookies来主域名将花费你额外的网络流量。请参阅雅虎家伙[加速您的网站的最佳实践](http://developer.yahoo.com/performance/rules.html#cookie_free)。 – Eye

,将其配置是这样的:

app.use(express.session({ 
    secret: conf.secret, 
    cookie: { domain:'.yourdomain.com'}, 
    store: new MongoStore(conf.sessiondb) 
})); 

尝试使用下面的链接进行配置。

res.cookie('name', 'tobi', { domain: '.example.com', path: '/admin', secure: true }); 

链接:http://expressjs.com/api.html#res.cookie