Wie werden die connect-mongo MongoStore Sitzungen eigentlich gespeichert?
Ich umgesetzt-Sitzungen mit Passport
, aber für die Speicherung von sessions ich versuchte connect-mongo
mit einem mongoose
Verbindung.
Dies ist mein code (Sitzungen Teil):
var express = require('express')
var mongodb = require('mongodb')
var mongoose = require('mongoose')
var bodyParser = require('body-parser')
var cookie = require('cookie-parser')
var connect = require('connect')
var passport = require('passport')
//var flash = require('connect-flash')
var session = require('express-session');
var MongoStore = require('connect-mongo')(session);
var LocalStrategy = require('passport-local').Strategy;
var app = express()
var BSON = mongodb.BSONPure
app.use(express.static(__dirname+"/public"))
app.use(bodyParser())
app.use(cookie())
app.use(connect.session({ secret: 'ilovescotchscotchyscotchscotch' }));
app.use(passport.initialize());
app.use(passport.session());
mongoose.connect('mongodb://localhost/psicologosTuxtepecDB')
var Schema = mongoose.Schema
var userCredential = new Schema({
username: String,
password: String
}, {
collection: 'members'
})
var userCredentials = mongoose.model('members', userCredential)
app.use(session({
secret: 'ziKologiia',
clear_interval: 900,
cookie: { maxAge: 2 * 60 * 60 * 1000 },
store: new MongoStore({
db : mongoose.connection.db
})
}));
Etwas, was ich bezweifle, wäre es kontraproduktiv ist, dass app.use(connect.session({ secret: 'ilovescotchscotchyscotchscotch' })) is using
- connect-Modul, aber die MongoStore Konfiguration, die auf einem express-session
variable. Jedoch, löschen Sie zuerst Ursachen-app nicht gut (nicht authentifizieren/redirect).
So, zu meiner Frage-Titel. Wo ist dann die session gespeichert? Ich dachte wirklich, ich könnte gehen, um meine Mongo-Datenbank und finden Sie alle Sammlung es zu speichern.
Wie finde ich solche sessions im backend (Mongo) und auch bei der applicacion als Java-Script-Objekte?
- Haben Sie nicht eine
sessions
collection in der db? - Ich habe es nicht, wäre es nicht nur standardmäßig erstellt werden?
Du musst angemeldet sein, um einen Kommentar abzugeben.
connect-mongo
speichert die Sitzungen in der "sessions" - Kollektion standardmäßig. Sie sollten da sein und sichtbar in der mongo-shell oder irgendein GUI tool wie robomongo. Ja, es wird standardmäßig erstellt. Ich würde pass in die mongooose_connection option stattdb
.Aus der docs:
store: new MongoStore({ mongoose_connection: mongoose.connections[0] })
app.use(connect.session({ secret: 'ilovescotchscotchyscotchscotch' }));
und dann auf MongoStore config einsecret: 'ziKologiia',..
. Wenn ich den ersten löschen, dann funktioniert es nicht gut, wie können diese beiden Geheimnisse sein, Kompatibilität?secret
option aus dem, was ich erzählen kann.connect.session
alle die Logik, die mongo-Shop stellt lediglich die persistente Speicherung.Eine Sache, die Sie tun sollten, ist zu ersetzen
mit Ihrem
app.use(connect.session({ secret: 'ilovescotchscotchyscotchscotch' }));
dann funktioniert es falsch. Nicht die Verwaltung von Sitzungen leitet.