Tôi có đoạn mã sau:req.session ở tốc phiên không kiên trì
var express = require('express');
var cookieParser = require('cookie-parser');
var http = require('http')
var app = express();
app.use(cookieParser());
var session = require('express-session');
app.use(session({
resave: false,
saveUninitialized: true,
secret: 'sdlfjljrowuroweu',
cookie: { secure: true }
}));
app.get('/test', test);
function test(req, res) {
var sess = req.session;
console.log('before', sess);
if (sess.views) {
sess.views++
req.session.save();
res.setHeader('Content-Type', 'text/html')
res.write('<p>views: ' + sess.views + '</p>')
res.write('<p>expires in: ' + (sess.cookie.maxAge/1000) + 's</p>')
res.end();
} else {
sess.views = 1;
req.session.save();
res.end('welcome to the session demo. refresh!')
}
console.log('after', sess);
return;
}
var server = http.createServer(app);
server.listen(8181);
Và tải lại trang, tôi chỉ tiếp tục nhận được số lần xem 0 tin nhắn.
Kiểm tra giao diện điều khiển, đây là sản phẩm tất cả các thời gian:
before { cookie:
{ path: '/',
_expires: null,
originalMaxAge: null,
httpOnly: true,
secure: true } }
after { cookie:
{ path: '/',
_expires: null,
originalMaxAge: null,
httpOnly: true,
secure: true },
views: 1 }
Vì vậy, nó dường như không được tiết kiệm ở tất cả
Bạn có đang sử dụng kết nối an toàn không? aka 'https: //', tôi nghi ngờ bạn không, nhưng bạn đã đặt cờ 'secure' thành true bên trong' express.session (...) ', có nghĩa là bạn sẽ không bao giờ có thể truy cập cookie (vì vậy các phiên sẽ không hoạt động chính xác). –