我使用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