Сессия в PassportJS с использованием ExpressJS

Я делаю страницу входа с помощью паспорта и экспресс-файла, в форме все выглядит нормально, но когда я попытался использовать сеанс, я получаю сообщение об ошибке, и страница не отображается. может кто-нибудь подсказать?

App.js

// Routes
var viewRoute  = require('./routes/view'),
    apiRoute   = require('./routes/api'),
    loginRoute = require('./routes/login'),
    appRoute   = require('./routes/main');

app.use('/',viewRoute);
app.use('/api',apiRoute);
app.use('/app',appRoute);

app.use('/login',loginRoute);
app.post('/login',passport.authenticate('local',{

        failureRedirect: '/',
        successRedirect: '/app'
    }));

мои маршруты/Main.js

var express = require('express');



module.exports = (function(){

    'use strict';

    var appRoute = express.Router();

    appRoute.get('/', function(req, res) {

        if (req.session.passport.user === undefined) {

                res.redirect('/login');
        }
        else { res.render('index'); }
    });

    return appRoute;

})();

Я новичок в nodejs и не нашел ничего похожего. Обычно в качестве примера используется всего один файл app.js.


person Gabriel Lopes    schedule 23.06.2015    source источник


Ответы (1)


res.render использует шаблоны для отображения страницы. Не похоже, что вы настроили механизм шаблонов. На веб-сайте Express есть краткое введение о том, как это сделать (http://expressjs.com/guide/using-template-engines.html). Если вы не хотите использовать шаблон, вам следует использовать другой метод, например res.send.

person Mark    schedule 23.06.2015
comment
Спасибо @Mark, я постараюсь взглянуть на ссылку, хотя моя проблема связана с req.session.passport.user, то есть с тем, что узел не распознает. - person Gabriel Lopes; 24.06.2015