मेरे विन्यास:समाशोधन सत्र, expressjs, NodeJS
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({
secret: 'MY SECRET',
store: new MongoStore({
db: 'MY SESSION DB',
host: 'localhost',
port:88888
})
}));
app.use(everyauth.middleware());
app.use(express.methodOverride());
app.use(app.router);
});
app.configure('dev', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
appPort = config.port; //Setting PORT to 8888 in dev mode.
app.use('/public', express.static(__dirname + '/public'));
});
app.configure('production', function(){
app.use(express.errorHandler());
appPort = config.port;
//Set cache-header-expires to 1 day
var oneDay = 86400000;
//app.use('/public', express.static(__dirname + '/public'));
app.use('/public',express.static(__dirname + '/public', { maxAge: oneDay }));
});
अब, मैं एक 'लॉगआउट' क्लिक जो मेरे ऐप्स पर/लॉगआउट को जाता है।
AFAIK, एक्सप्रेस स्वचालित रूप से लॉगआउट पर समाशोधन सत्रों का ख्याल रखता है। लेकिन मेरी कॉन्फ़िगरेशन के साथ, मुझे नहीं लगता कि यह ऐसा कर रहा है। उदाहरण के लिए, सत्र
req.session.custom
से जुड़े एक कस्टम चर अभी भी लॉगआउट के बाद रखता है। हालांकि,
req.session.auth
लॉगआउट के बाद साफ़ हो गया है।
मेरे मोंगो डीबी स्टोर में सत्र ऑब्जेक्ट की संख्या केवल समय के साथ बढ़ रही है। मैं हरउथ का उपयोग कर रहा हूं।
मुझे क्या याद आ रही है या गलत कर रहा है?
मैं अपने मोंगो सत्र स्टोर में ऑब्जेक्ट को हटाने के साथ-साथ लॉगआउट पर कैसे जा सकता हूं? – Rajat
'req.session.destroy()' आपके स्टोर से सत्र ऑब्जेक्ट हटा देता है। – JohnnyHK
मुझे नहीं लगता कि req.session.destroy() इसे साफ़ कर रहा है। लॉगआउट से पहले और बाद में, स्टोर पर गिनती() 1 है जब मैं परीक्षण करता हूं। कोई सुराग? – Rajat