CNODE源码 的session 过期的处理
发布于 2年前 作者 xianggp 908 次浏览

当然过期肯定要从新登陆,CNODE的SESSION处理

 // store session cookie
    gen_session(user, res);

// private
function gen_session(user, res) {
  var auth_token = encrypt(user._id + '\t' + user.name + '\t' + user.pass + '\t' + user.email, config.session_secret);
  res.cookie(config.auth_cookie_name, auth_token, {path: '/', maxAge: 1000 * 60 * 60 * 24 * 30}); //cookie 有效期30天
}

cookie方法是怎么处理的?没找到文档… 哪位大神帮忙解答下?

7 回复

http 头:

Set-Cookie: xxxxxxxxxxxxxxxxxxxxx

然后请求上来,先读cookie 。。完事

你这是问session 还是 cookie …

用了一个这样的中间件。。 app.use(express.cookieParser());

最后说一下。。 源码是最好的文档。。。。。

1、首先,谢谢你的回答 。 2、我遇到的问题的情景是:Session在一分钟内有效(过期时间为一分钟)

    secret:settings.db,
    store:sessionStore,
    cookie:{
      maxAge:new Date(Date.now()+1000*60)
    }
}));

一分钟后我再访问需要用户信息的页面时,由于session过期,需要重新登录,转到登录页后,提交取得数据后,用户信息放到session中,再转到刚才的页面时,页面的session 没有用户信息。就是不明白这,求解答,我应该怎么做? session过期后登录后的session信息

{ cookie:
   { path: '/',
     _expires: Fri Jul 05 2013 13:51:15 GMT+0800 (中国标准时间)
     originalMaxAge: -34298,
     httpOnly: true },
  error: null,
  success: null,
  user:
   { name: 'caojia',
     password: 'daecdcc41afdbe9691a879aec2e8da50',
     email: 'caojia' } }
```登陆后转到主页,获取session后却没有
```/home
{ cookie:
   { path: '/',
     _expires: Fri Jul 05 2013 13:51:15 GMT+0800 (中国标准时间)
     originalMaxAge: -34329,
     httpOnly: true } }

求解答!

哈哈app.use(express.cookieParser());跟session store用什么没有关系吧,session依赖cookieParser倒是真的

@xianggp 就给出的代码来看,cookie的maxAge设置并不合理,应该是maxAge:1000*60(session设置)。虽然maxAge接受日期型,但就你的情况来说,日期型并不适用。

回到顶部