2017-06-01 13 views
0

私はパスポートとエクスプレスセッションを使用していますが、私の問題はアドレス入力時にセッションを閉じた後にブラウザの「ページ適切に「リダイレクトされていないので、私は何をしたいのか、私は自分のコードページがエクスプレスセッションとパスポートノードで正しくリダイレ​​クトされていません

Routes.js

app.get('/index', isLoggedIn, function(req, res) { 
    console.log(req.session); 
     if (req.session == null || req.session == undefined) 
     { 
      res.redirect('/login'); 
     } 
     else 
     { 
     res.render('index.ejs', { 
      user : req.user // get the user out of session and pass to template 
     }); 
    } 

    }); 

アプリを残しておきますアドレス/ログインにリダイレクトする代わりに、その問題

を示しています。 js

app.use(session({ 
    secret : 'asjdknas', 

})); 


app.use(passport.initialize()); 
app.use(passport.session()); 
app.use(flash()); 

更新が

に私は私が

機能isLoggedIn(reqは、RES、次の){

(req.isAuthenticated(IF)app.getコールで呼び出した機能をした検証を解きます) 戻る次へ();

Res.redirect( '/ login'); }

答えて

0

res.redirectの代わりにreturn res.redirectを試してみてください。 (レンダリングと同じ)

さらに、console.log(req.session)は何を提供しますか?リターンで

+0

セッションセッション{ Cookieに入るときと同じこれは、(=にconsole.log戻り起こる: {パス: '/'、 _expires:ヌル、 OriginalMaxAge:ヌル、 HttpOnlyの:真} 、 Passport:{user:1}} –

+0

これは、 'req.session'が' null'でも 'undefined'でもないので、リダイレクト条件を入力していないことを意味します。あなたが実際にそこにいるかどうかを確認するために 'res.redirect'の前にconsole.log( 'Hello')を追加する必要があります。 – DrunkDevKek

+0

489/5000 私はちょうどチェックして問題はそれが入力されていないということです"ページは正しくリダイレ​​クトされていません"とコンソールはこのGET /インデックス302 12,686ms - 56 GET/index 302 2,300ms - 56 GET/index 302 1,232ms - 56 GET/index 302 0.906ms - 56 GET/index 302 0.729ms - 56 GET/index 302 0.551ms - 56 GET /インデックス302 0.795ミリ秒 - 56 GET /インデックス302 1430ミリ秒 - 56 GET /インデックス302 1,189ミリ秒 - 56 GET /インデックス302 2.079ミリ秒 - 56 GET /インデックス302 0.706ミリ秒 - 56 GET /インデックス302 0.664 ms - 56 –

関連する問題