session设置

下载

npm install express-session --save //用于在express中操作session
npm install connect-mongo --save // 用于将session写入数据库(session持久化)

引入

// 进入express-session模块
const session = require('express-session')
// 引入connect-mongo模块
const MongoStore = require("connect-mongo")(session);

编写全局配置对象

app.use(session({
   name:'userid' // 设置cookie的name,默认值是connect.sid
   secret:'dataKey', // 参与加密的字符串(又称为签名)
   saveuninitialized:false, // 是否在存储内容之前创建会话
   resave:true,//是否在每次请求时,强制重新保存session,即使他们没有变化
   store:new MongoStore({
  url:'mongodb://localhost:27017/sessions_container',
  touchAfter:24*3600 //修改频率(//在24小时之内更新一次)
}),
   cookie:{
  httpOnly:true, // 开启后前端无法通过JS操作cookie
       maxAge:1000*30 // 设置cookie的过期时间
  }
}))

向session中添加一个xxx,值为yyy

req.session.xxx = yyy

获取session上的xxx属性

const {xxx} = req.session

整个过程是:
1.客户端第一次发起请求,服务器开启一个session专门用于存储这次请求的一些信息。
   2.根据配置对象的信息,服务器决定是否进行:session持久化等其他操作。
   2.与此同时服务器创建了一个cookie,它的key我们可以自己指定,但是它的value一定是上一步session的唯一标识。
   3.服务器将我们指定好的内容添加进session对象,例如:req.session.xxxx = yyy。
   4.等请求再次过来时,客户端的请求中包含着之前“种”的cookie。
   5.服务器检查携带过来的cookie是否有效,决定是否去读取对应session中的信息。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇