2017-04-27 10 views
0

セッション値を使用したいパスポートnodejsセッション値の取得方法

しかし、セッション値の取得方法はわかりません。

は私が

var aaa = req.session; 
 
var bbb = req.session.passport; 
 
var ccc = req.session.passport.user;
にconsole.logタイプを試してみました

AAA、BBB、CCC値を得ることができます。 結果は、私はこのようにそれを試してみました(コンソール)

//aaa 
 
passport : { user:[ [Object] ] } } 
 

 
//bbb 
 
{ user: 
 
[{ no : 1, id : aaa, pw : 123 }] 
 

 
//ccc 
 
[{ no : 1, id : aaa, pw : 123 }]

、その後、私はノー、ID、PW値を取得することはできません...

です。

、その後、私はノー、ID、PW値を取得することはできません...

私はこのようにそれを試してみました。それは動作しません

var ddd = req.session.passport.user[0].value;

これは私のコードです。 誰かがそれを解決する方法はありますか?

passport.use('login', new LocalStrategy({ 
 
     usernameField : 'email', 
 
     passwordField : 'pw', 
 
     passReqToCallback : true 
 
    },function(req, email, pw, done) { mysql.select('select * from MYTABLE where email ="'+email+'" and pwd = "'+pw+'"', function (err, data){ 
 
      // below code is working. 
 
      console.log(data[0].no); 
 

 
      if(data.length < 1){ 
 
       console.log('fail'); 
 
       return done(null, false); 
 
      }else { 
 
       console.log('success'); 
 
       console.log(data); 
 
       return done(null, data); 
 
      } 
 
      if(err){ 
 
       res.redirect('back'); 
 
     } 
 
     }); 
 
    } 
 
    ));

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

 
\t //console.log("123123"); 
 
\t var aaa = req.session; 
 
\t var bbb = req.session.passport; 
 
\t var ccc = req.session.passport.user; 
 
\t console.log(aaa); 
 
\t console.log(bbb); 
 
\t console.log(ccc); 
 
\t console.log("++++"); 
 
    //var ddd = req.session.passport.user[0].value; 
 
    //var eee = req.session.passport.user.value; 
 
    //var fff = req.session.passport.user.no.value; 
 
    // ddd eee fff isn't work. 
 
\t 
 
     res.render('front/login_test', {}); 
 
});

答えて

1

あなたはユーザーオブジェクトで "値" という名前の任意のキーを持っていけません。お試しください:

var no = req.session.passport.user[0].no; 
var id = req.session.passport.user[0].id; 
var password = req.session.passport.user[0].pw; 
関連する問題