检查Express Session是否过期

时间:2014-10-06 18:18:06

标签: javascript node.js express expired-sessions

假设节点快速会话保存在应用程序中(意味着它们不一定是从传入的req访问的),如何检查这些会话是否已过期?什么是正确的测试?

2 个答案:

答案 0 :(得分:0)

假设您已在会话中保存了用户名。 req.session.name='pankti'当您尝试获取它并且未定义时,它已过期。req.session.name == 'undefined'

答案 1 :(得分:-1)

会话过期时没有发出任何事件(遗憾的是......)。 但是,如果会话保存在会话存储中,则可以在会话创建时实现setTimeout(),并在会话到期/即将到期时触发事件。

示例:

//Lets say your session's ttl is 600 seconds
//On session creation :

setTimeout(function(){
  //send event
},600000);

根据会话商店中存储的信息,您可以使用用户ID,会话ID或其他任何内容。

您可以查看at this SO question以获取更多信息(虽然它使用已弃用的连接,但概念是相同的。)