현재 MongoDb에 세션을 저장하는 데 많은 시간을 할애하고 있습니다.NodeJS + Express + Mongo 세션 저장
express-session-mongo와 connect-mongodb를 시도해 봤는데 로그인 페이지를로드하려고 할 때 "500 내부 서버 오류"와 같은 오류가 발생했습니다. 어느 곳에서 몽구스 - 찬성과 갈등이 있을지 모른다고 생각하게 만듭니다. 나는 정말 노력하고있어 시간이 순간
var MongoStore = require('connect-mongodb');
var MongoDb = require('mongodb').Db;
var Server = require('mongodb').Server;
var db = new MongoDb('myDb', new Server('localhost', 27017, {auto_reconnect: true, native_parser: false}));
app.configure(function() {
app.use(express.logger({format: 'dev'}));
app.set('views', __dirname + '/../views');
app.set('view engine', 'jade');
app.set('view options', { layout: false });
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(mongooseAuth.middleware());
app.use(require('./mysite').middleware());
app.use(express.methodOverride());
});
app.configure('production', function(){
var oneWeek = 657450000;
app.use(express.static(__dirname + '/../public', { maxAge: oneWeek }));
app.use(express.session({ store: new MongoStore({db: db}), secret: 'super secret' }));
app.use(express.errorHandler());
});
// Routes
require('./routing.js');
mongooseAuth.helpExpress(app);
app.listen(3000);
console.log('Express server listening on port %d in %s mode', app.address().port, app.settings.env);
userModel.js
var Schema = mongoose.Schema;
var mongooseTypes = require("mongoose-types");
var mongooseAuth = require('mongoose-auth');
mongooseTypes.loadTypes(mongoose);
var everyauth = require('everyauth')
everyauth.debug = true;
var UserSchema = new Schema({any: {}});
UserSchema.plugin(mongooseAuth, {
everymodule: {
everyauth: {
User: function() {
return User;
}
}
}
, password: {
loginWith: 'email'
, extraParams: {
phone: String
, username: String
}
, everyauth: {
getLoginPath: '/login'
, postLoginPath: '/login'
, loginView: 'account/login.jade'
, getRegisterPath: '/register'
, postRegisterPath: '/register'
, registerView: 'account/register.jade'
, loginSuccessRedirect: '/login/success'
, registerSuccessRedirect: '/register/success'
}
}
});
mongoose.model('User', UserSchema);
User = mongoose.model('User');
:
app.js : 어쨌든 여기
내 설정이다 세션 저장소로 MongoDb를 사용하지만, 다시 node.js conso에서 500 오류 w/no 정보를 얻습니다. 내가 로그인 페이지를로드하려고 할 때
도움을 주시면 감사하겠습니다./표현 세션 - 몽고/연결 - 몽고 세션 몽고-연결 2.0.1 연결 사용 익스프레스 1.8.5 연결 사용 :
감사
실제로 나는 express-session-mongo를 사용하여 재시도했지만 (로그인 페이지가 500 페이지 오류로 인해로드되지 않도록 시도하는) 동일한 동작을 계속하고 있지만 실제로 MongoDb를 체크인하고 세션은 실제로 거기 예상대로. – Lancelot
FYI, 또한 연결 - 몽고, 같은 결과를 시도 했어요 ... 몽구스 - 인증 잘하지 재생할 수 있습니까? – Lancelot
Everyauth 모듈의 코드를 조사한 결과, 모든 오류 메시지가 everyauth/lib/modules/password.js에서 발생했음을 알 수있었습니다. >> line 47 : res.render (view, locals); 불행히도 내가 서있는 곳에서 너무 많이 도움이되지 않는다 ... :( – Lancelot