使用ExpressJS在PassportJS中进行会话

时间:2015-06-23 22:34:08

标签: node.js express passport.js

我正在使用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'
    }));

我的Routes / 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

1 个答案:

答案 0 :(得分:1)

res.render使用模板渲染页面。看起来你没有设置模板引擎。快递网站简要介绍了如何执行此操作(http://expressjs.com/guide/using-template-engines.html)。如果您不想使用模板,则应使用其他方法,例如res.send