session
sesion是服务端存储数据,session也是一个对象。对session 的操作,就是基本的对象操作。读value 添加 key:value
-
使用方式
- 在哪使用:接口中。
- 1:往session 中存数据 ctx.session.属性 = js数据类型(除了函数)
- 对客服端而言,ctx.session 是“写”的过程,写到客户端cookie中
cookie
cookie 是客户端存储数据 cookie,cookie 也是一个对象 存储的是session对象
cookie 对象描述:
- key 为session中名字 (在服务端配置session信息时候设置的)
- value 为session存储的数据 (在服务端操作session时,添加)
session与cookies关系
-
coolies 的value 为session 存的内容,过程经过了请求与响应
-
通过cookies 与session存储数据;可以知道当前登录的是哪个用户
koa-session
在koa2 中使用session 的第三方中间件
-
导入
-
配置session
-
挂在到应用中间件中
-
使用session对象存数据(在接口中)
const session = require('koa-session'); // 通过任意字符串为基准进行加密算法的字符串 base64 // keys 作用在cookie 的value值时加密后的内容 app.keys = ['some secret hurr']; const CONFIG = { key: 'koa:sess', // 设置 session的名字 也是cookie中key maxAge: 86400000, autoCommit: true, overwrite: true, httpOnly: true, // 是否允许客户端操作cookies true:不允许 false 允许 signed: true, // 数字签名,保证数据不被修改 rolling: false, // 过期时间访问顺延,指的是数据存储过期后;时候否继续加时间 false 不顺延 true 顺延 renew: false, }; app.use(ctx => { // 使用session 存储数据 ctx.session.views = ++n; }); app.use(session(CONFIG, app));