2016-08-11 128 views
0

ユーザー権限を 'view'、 'view-edit'として定義したNodeJS(ミドルウェア、Expressセッション、セッションファイルストア)アプリケーションで作業しています'と'編集 '。このアプリケーションは、最大アクティブセッションまたはアクティブユーザー数の合計が10である必要があります。nodeJSアプリケーションで10同時セッション/接続を制限する方法

セッションカウントを使用する必要がありますか?私は5分に制限セッションのmaxAgeする必要があります。

セッションが終了してからセッションカウントを更新する必要があります。セッションの有効期限が切れてたら、私はそれをトレースすることはできません...最後に

+0

あなたは、コードを投稿することができ、セッション数を取得するためのソリューションを持って。 –

+0

var sess_options = { パス: "/ tmp/sessions /"、 useAsync:true }; router.use(セッション({ ストア:新しいファイルストア(sess_options)、 再保存:偽、 saveUninitialized:秘密はfalse、 : 'asts123'、 ローリング:偽、 クッキー:{\tのHttpOnly:安全な偽、 :true、 maxAge:60000} })); router.use(function(req、res、next){ if(typeof req.session.user_mode === 'undefined'){ session_ids.push(req.session.id); res.app.locals。セッションが終了したときにセッション数を減らし、実行中のアクティブセッションの数を知る方法がわかりません。 –

答えて

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(); 
}); 
関連する問題