定义用户数据模型
//
var Schema = mongoose.Schema ;
var UserSchema = new Schema({
username : String ,
password : String
});
exports.User = mongoose.model('User’,UserSchema) ;
功能描述:在登陆页面,输入正确用户名和密码后,页面跳转。
遇到的问题:
刚开始用户名和密码都正确,是可以正常跳转的;但是当重复执行”登陆–退出“后,会突然发生:输入用户名和密码即时正确也无法和数据库匹配,导致之后用户名和密码都正确也无法登陆。
使用Robomongo查看数据库,并未发现异常!请问这是什么原因?
ps:密码和用户名在数据库和输入时,都未发生有空格之类的低级错误!
ps:2014/12/17,另外当用户名和密码成功匹配时,会将用户信息存入session
//=====================
exports.userLogin = function (req, res) {
UserModel.find( {username: req.body.username}, function (err,doc) {
…
req.session.user = doc[0];//当发生如上错误时,此处打印req.session.user.username 正常
res.redirect(‘/’);
});
}
//=====================
app.get('/’, function (req, res) {
if (! req.session.user) { //当发生如上错误时,此处打印req.session.user.username 为TypeError: Cannot read property ‘username’ of undefined
res.redirect(‘/login’);
} else {
res.redirect(‘/XX’);
}
});
//=====================
var sessionstore = require(‘session-mongoose’)(express);
var store = new sessionstore({
url: "mongodb://XXX/XX",
interval: 120000
});
…是session出问题了?但是问题在哪里了? session应该如何配置?