在ExpressJS中设置二级域名跨域共享Cookie

问题:我使用expressjs和mongostore来管理session。下面是expressjs中的设置。

  1. app.configure(function(){
  2.     app.use(express.session({
  3.         secret: conf.secret,
  4.         maxAge: new Date(Date.now() + 3600000),
  5.         cookie: { path: ‘/‘ },
  6.         store: new MongoStore(conf.db)
  7.     }));
  8. });

我已经在上面设置了cookie路径。但是它还是把Cookie设置到了子域名 sub.domain.com 中。 如何将其设置到主域名 .domain.com 中?

回答: 这样设置即可。

  1. app.use(express.session({
  2.     secret: conf.secret,
  3.     cookie: { domain:‘.yourdomain.com‘},
  4.     store: new MongoStore(conf.sessiondb)
  5. }));

注* 使用数据库mongostore来集中管理session,并在各个子域名跨域共享Cookies (SessionID),即可实现为每一个子域分配一个独立的node.js Web服务器,可以实现一定程度上的负载均衡。

 

转http://www.nodejs.net/a/20150116/225656.html

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。