用的express 4.x 想清楚cookie 发现有些清除不了 为什么
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用的express 4.x 想清楚cookie 发现有些清除不了 为什么相关的知识,希望对你有一定的参考价值。
参考技术A 用的是res.clearCookie 发现这个res.clearCookie(“connect.sid”,path: ‘/’);
清除不了 这是为啥
connect.sid应该是跟session相关的吧用的是res.clearCookie 发现
这个res.clearCookie(“connect.sid”,path: ‘/’);
清除不了 这是为啥
connect.sid应该是跟session相关的吧本回答被提问者采纳
express中的会话存储方式
会话存储需要用的express-session包
app.use(require(‘express-sessiion‘)())
express-session接收带有如下选项的配置对象:
key;存放唯一会话标识的cookie名称,默认为connect.sid,
store 会话存储的实例,默认为一个MemoryStore的实例
cookie 会话cookie的cookie设置(path,domain,secure等)
会话设置之后使用起来非常简单,就是使用req请求对象的session属性,注意,响应对象上是没有session属性的
req.session.userName = ‘kevin‘ //设置session delete req.sessiion.userName 删除session
通常,生产环境我们不会用服务器内存来存储session数据,因为一旦服务器重启session就没了,也不适合做集群扩展。
可以用mongodb或redis来存储会话数据
1,mongodb存储会话,需要用到mongoose-session
var express = require(‘express‘); var mongoose = require(‘mongoose‘); mongoose.connect(‘mongodb://localhost/db‘); var app = express(); app.use(require(‘express-session‘)({ key: ‘session‘, secret: ‘SUPER SECRET SECRET‘, store: require(‘mongoose-session‘)(mongoose) }));
2,redis存储会话
var session = require(‘express-session‘); var RedisStore = require(‘connect-redis‘)(session); app.use(session({ store: new RedisStore(options), secret: ‘keyboard cat‘ }));
options对象主要包括以下几个选项
client:redis客户端,通过安装node_redis来创建redis客户端对象
host redis服务器主机名
port redis服务器端口
url redis服务器url
以上是关于用的express 4.x 想清楚cookie 发现有些清除不了 为什么的主要内容,如果未能解决你的问题,请参考以下文章
express 4.0x 用ejs妫傻腶pp.js没有app.configure,怎么弄
express-session 和 cookie-session 有啥区别?