CNode

CNODE源码 的session 过期的处理

Xxianggp发布于13 年前最后回复13 年前7 回复5408 浏览0 收藏

当然过期肯定要从新登陆,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)

Y
youxiachai#1·13 年前

http 头:

Set-Cookie: xxxxxxxxxxxxxxxxxxxxx

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

Y
youxiachai#2·13 年前

你这是问session 还是 cookie .......

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

Y
youxiachai#3·13 年前

接下来: https://github.com/cnodejs/nodeclub/blob/master/controllers/sign.js

看 282 行的处理吧。。。

Y
youxiachai#4·13 年前

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

X
xianggp#5·13 年前
引用 youxiachai最后说一下。。 源码是最好的文档。。。。。

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 } }

求解答!

D
dengqiao#6·13 年前
引用 youxiachai你这是问session 还是 cookie ....... 用了一个这样的中间件。。 app.use(express.cookieParser());

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

S
shiedman#7·13 年前
引用 youxiachai最后说一下。。 源码是最好的文档。。。。。

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

参与回复
登录后即可参与回复。登录