7.2.5 session() 会话管理
由于本书使用的方式已经过时,笔记参考https://blog.csdn.net/cckevincyh/article/details/79816491这个教程。
不同于cookie保存在客户端,session被保存在服务器上,它储存着用户的登录信息。
当用户登陆后,服务器会生成一个session密钥保存在客户端的cookie里,客户端每次访问服务器携带密钥,服务器就知道这个用户是谁了。
1.基本用法
var expressSession = require("express-session")
var app = connect()
app.use(expressSession({
secret: "keyboard cata", //设置密钥
name: "session", //返回客户端的key的名称,这里设置的是req.session
saveUninitialized: true, //初始化session
cookie: ('name', 'value', { maxAge:5000 }), //设置cookie属性,名字和截止时间
}))
.listen(3000);
其他参数常见参数参考下图
req.session.destroy(function(err){ /*销毁 session*/
})
req.session.username='张三'; //设置 session
req.session.username //获取 session
req.session.cookie.maxAge=0; //重新设置 cookie 的过期时间
7.3 basicAuth HTTP基本认证
const http = require('http');
const auth = require('basic-auth');
const server = http.createServer((req,res)=>{
const author = auth(req);
console.log(author);
}).listen(3000);