【发布时间】:2016-04-01 08:29:27
【问题描述】:
我正在尝试使用快速会话来登录用户。我希望用户能够转到个人资料页面并查看他们的用户数据(如果他们已登录)。
我已经被困在这里好几天了。在我的routes.js 文件的第 33 行,在我的/profile GET 路由中,req.user 未定义。但是在我的routes.js 的第 27 行,在我的/login POST 中,req.user 可以正常工作。
'use strict'
var User = require('mongoose').model('User')
module.exports = function(app, passport){
console.log('passport', passport)
app.route('/')
.get(function(req, res){
res.render('index')
})
app.get('/signUp', function(req, res){
res.render('signup')
})
app.route('/user')
.get(function(req, res){
})
.post(passport.authenticate('local-signup', { successRedirect: '/',
failureRedirect: 'signup' }))
app.route('/login')
.get(function(req, res){
res.render('login')
})
.post(passport.authenticate('local-login', { successRedirect: '/',
failureRedirect: '/login'}), function(req, res){
/* *** LINE 27 *** */ console.log('req.user', req.user)
})
app.route('/profile')
.get(function(req, res){
/* *** LINE 33 *** */ console.log('req.user', req.user)
if(!req.user){
res.render('profile', {user: "You're not logged in"})
}
if(req.user){
res.render('profile', {user: req.user})
}
})
}
为什么我的所有路由中都没有定义req.user?表达会话不应该填充持久的req.user 对象吗?
任何帮助表示赞赏。谢谢!
【问题讨论】:
标签: javascript node.js session express passport.js