我使用passport.js来处理我的nodejs + express.js应用程序的身份验证。我设置了LocalStrategy从MongoDB获取用户Node.js + express.js + passport.js:在服务器重启之间保持身份验证
我的问题是用户在重新启动我的节点服务器时必须重新进行身份验证。这是一个问题,因为我积极发展它,不要wan't在每次重启时登录...(+我使用节点管理器)
这里是我的应用程序设置:
app.configure(function(){
app.use('/static', express.static(__dirname + '/static'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser());
app.use(express.session({secret:'something'}));
app.use(passport.initialize());
app.use(passport.session());
app.use(app.router);
});
而且会议序列化设置:
passport.serializeUser(function(user, done) {
done(null, user.email);
});
passport.deserializeUser(function(email, done) {
User.findOne({email:email}, function(err, user) {
done(err, user);
});
});
我试图解决在博客上给定的(删除,因为它不存在任何更多的链接)使用连接-的MongoDB没有成功
app.use(express.session({
secret:'something else',
cookie: {maxAge: 60000 * 60 * 24 * 30}, // 30 days
store: MongoDBStore({
db: mongoose.connection.db
})
}));
编辑另一个问题:只有一个连接应(使用一个联接有限mongohq免费服务)
EDIT 2(如在一个版本,因为我我的名声是低的回答我的问题现在
这里是解决方案,我终于找到了,用猫鼬发起连接
app.use(express.session({
secret:'awesome unicorns',
maxAge: new Date(Date.now() + 3600000),
store: new MongoStore(
{db:mongoose.connection.db},
function(err){
console.log(err || 'connect-mongodb setup ok');
})
}));
只是FYI:博客链接重定向到一个模仿约会网站......不知道它是否是好的了。 – anthonylawson 2013-03-12 15:13:56
噢,我删除了链接。 – 2013-03-15 10:38:41
开发人员使scuzzy约会网站。 – 2013-06-30 19:07:07