2017-06-01 71 views
0

我使用Passport本地和快速會話,但我的問題是,當我輸入地址,關閉會話後,我得到問題瀏覽器「頁沒有正確重定向」,所以我想要做的是重定向到地址/登錄,而不是表明問題頁面沒有正確重定向與快速會話和護照nodejs

我會離開我的代碼

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()); 

更新解決

驗證我做了我在app.get通話

功能isLoggedIn(REQ,水庫,下一個){

如果(req.isAuthenticated調用函數() ) Return next();

Res.redirect('/ login'); }

回答

0

嘗試使用return res.redirect而不是res.redirect並告訴我會發生什麼情況。 (相同的渲染)

另外,console.log(req.session)給你什麼?

+0

有了回報同樣的情況=(,一的console.log返回該用會話的會話{ 餅乾當進入: {路徑: '/', _expires:空, OriginalMaxAge:空, 僅Http:真正} , Passport:{user:1}} –

+0

這意味着'req.session'不是'null'或'undefined',所以你不會輸入你的重定向條件。但是我猜你已經試過併成功輸入了條件你應該在你的'res.redirect'之前添加一個console.log('Hello')來檢查你是否確實在那裏 – DrunkDevKek

+0

489/5000 我剛剛檢查過,問題在於它沒有進入,錯誤「頁面沒有正確重定向」,控制檯只返回這個GET /索引302 12,686毫秒 - 56 GET /索引302 2,300毫秒 - 56 GET /索引302 1,232 ms - 56 GET /索引302 0.906 ms - 56 GET /索引302 0.729 ms - 56 GET /索引302 0.551 ms - 56 GET /索引302 0.795毫秒 - 56 GET /索引302 1430毫秒 - 56 GET /索引302 1189毫秒 - 56 GET /索引302 2.079毫秒 - 56 GET /索引302 0.706毫秒 - 56 GET /索引302 0.664 ms - 56 –