2016-11-25 6 views
0

私は特急・セッションのパッケージに急行使用していますし、正常な、ノードは自動的にセッション変数を作成しますか?

router.get('/test', function(req, res, next){ 
    req.session.test = 'awesome'; 
    res.send('awesome') 
}) 

のようなセッション変数を維持し、私は私は望ましい結果

router.get('/pest', function(req, res, next){ 

    res.send(req.session.test) 
}) 

を取得します下のコードを使用するときにすることができます問題はありませんが、わかりにくいですが、Nodeは他の変数とのセッションを自動的に作成しますか?例えば:

router.get('/test', function(req, res, next){ 
    router.test = 'test'; 
    res.send('test') 
}) 

が、その後

router.get('/lest', function(req, res, next){ 
    res.send(router.test) 
}) 

に行くには、まったく同じ結果になります。ノードがしばらくして自動的にそのような変数を保持することは奇妙に思えます。

答えて

1

セッション変数ではありません。

あなたは1つのルータオブジェクトを持っています。

ごとに、のリクエストごとに変更されますが、指定されたセッションCookieを持つブラウザからのものではありません。

+0

したがって、すべてのユニークなIPを処理するためには、ステートマシンが必要ですか? –

+0

Okを明確にするために、新しいジャージーのコンピュータ上のAのルータオブジェクトを変更すると、異なるアカウントでログインしているコンピュータBのCalifroniaの同じルータオブジェクトが変更されますか? –

+0

ステートマシンはあなたが必要とするものではないと思います。セッションが必要です。複数の人がIPアドレスを共有できるため、IPアドレスのセッションをリンクしないでください。代わりにセッションCookieを使用してください。そして、はい、ルータオブジェクトは、セッションではなくサーバー全体に存在します。 – Quentin

関連する問題