如何在nodeJS应用程序中限制10个并发sessions/connections
How to limit 10 concurrent sessions/connections in nodeJS Application
我正在开发 NodeJS(使用的中间件 - Express-session、session-file-store)应用程序,我将用户权限定义为 - 'view'、'view-edit' 和 'edit' .此应用程序的最大活动会话总数或活动用户数应为 10。
我应该使用会话计数吗?我必须将会话的 maxAge 限制为 5 分钟。
所以问题是在会话过期后应该更新会话计数。但是一旦会话过期我就无法追踪它..
如果我们在 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();
});
我正在开发 NodeJS(使用的中间件 - Express-session、session-file-store)应用程序,我将用户权限定义为 - 'view'、'view-edit' 和 'edit' .此应用程序的最大活动会话总数或活动用户数应为 10。
我应该使用会话计数吗?我必须将会话的 maxAge 限制为 5 分钟。
所以问题是在会话过期后应该更新会话计数。但是一旦会话过期我就无法追踪它..
如果我们在 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();
});