《node.js实战》第七章 (7.2.5—7.5) connect 自带的中间件

    科技2022-07-16  124

    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);

     

     

     

     

    Processed: 0.010, SQL: 8