2017-03-16 11 views
0

オブジェクトを作成し、セッションに格納してどこにでもアクセスしようとしています。NodeJS - セッション内にオブジェクトを作成する

が必要:

var session = require('express-session'); 

app.jsで:

app.use(session({ 
    secret: '1234567890poiuytrewq1234567890-.,', 
    resave: false, 
    saveUninitialized: false 
})); 
app.use(function(req, res, next){ 
    if(!req.session.auth){ 
     req.session.auth = new AuthService(); 
    } 
    next(); 
}); 

私は、オブジェクトがOKであるconsole.log(req.session.auth)場合。しかし、私がルートに行くと、そのオブジェクトはそこにはありません:

router.post('/login', function(req, res){ 
    if(req.body.remember){ 
     //I'll do this later 
    } 
    var username = req.body.username; 
    var cryptPass = md5(req.body.password); 
    res.send(req.session.auth); 
}); 

私は間違った処理セッションをしていますか?

答えて

1

express-sessionJSON.stringifyを使用してセッションデータをシリアライズするため、セッションで複雑なオブジェクトのインスタンスを保持できません。シリアライゼーションはすべてのオブジェクトメソッドを削除します。

+0

ああ、それほど悪いです。あなたの助けてくれてありがとう、あなたは多くの時間をテストした。私は何をしようとしているのだろうか? –

+0

この 'AuthService'が何らかのリストアをサポートしている場合、yes –

+0

何らかの復元の意味は何ですか? –

関連する問題