如何在nodeJS应用程序中限制10个并发会话/连接

时间:2016-08-11 12:11:14

标签: node.js session express-session

我正在研究NodeJS(中间件使用 - 快速会话,会话文件存储)应用程序,我已将用户权限定义为“查看”,“查看 - 编辑”和“编辑”。此应用程序的最大总活动会话数或活动用户数应为10。

我应该使用会话计数吗?我必须将会话的maxAge限制为5分钟。

问题是会话过期后会更新会话计数。但是一旦会话过期,我就无法追踪它......

1 个答案:

答案 0 :(得分:0)

最后,如果我们在node.js中使用文件会话存储,我得到了一个获得会话计数的解决方案

//file store parameters
var sess_options = {
path: "/tmp/sessions/",
useAsync: true
};
// sess_count variable
var sess_count = 0;

var file_store = new FileStore(sess_options);
router.use(session({
  store : file_store,
  resave : false,
  saveUninitialized : true,
  secret : 'asts123',
 rolling : false,
cookie : {  httpOnly: false,
secure : true,
maxAge : 60000
}
}));

router.use(function(req, res, next) {
file_store.length(function session_count(a,len) {
  sess_count = len;
  console.log("Total active session count is " + sess_count);
  console.log("============");
});
 return next();
});
相关问题