express4-session无法保存值问题
发布于 10 年前 作者 q125759748 10475 次浏览 最后一次编辑是 8 年前

https://github.com/expressjs/session 参照例子,welcome to the session demo. refresh! 刷新页面每次都显示这个。 将:res.end('welcome to the session demo. refresh!'); 修改为:res.end('welcome to the session demo. refresh!'+sess.views); 每次都显示 welcome to the session demo. refresh! 1

是被覆盖了吗?调用 sess.save() 方法也一样。

引用顺序

var express = require('express');
var path = require('path');
var favicon = require('static-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var session = require('express-session');
var bodyParser = require('body-parser'); 

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

app.use(favicon());
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(express.static(path.join(__dirname, 'public')));
app.use(cookieParser());
app.use(session({ 
    secret: 'keyboard cat', 
    key: 'sid', 
    cookie: { secure: true }
}))

var routes = require('./routes/index');
var users = require('./routes/users');

app.use('/', routes);
app.use('/users', users);

app.listen(1111);
module.exports = app;
3 回复

app.use(session({
    secret: 'keyboard cat',
    key: 'sid',
    cookie: { secure: true }
}))

里的 secure 改为 false 就可以了。。这是为什么呢。

遇到了同样的问题,果然改成false就解决了,看了下github上的文档,大概意思是:


推荐选项是将sercure属性的值设为true(即secure: true)。然而,它需要网站是https-enabled,也就是说HTTPS这货对于secure cookies是必须的。

遇到同样的问题,原来要https-enabled…

回到顶部