Loading

NodeJs-express会话控制

  1. 安装cookie-parser

    npm i cookie-parser
    
  2. 设置cookie

    const express = require('express')
    
    const cookieParser = require('cookie-parser')
    
    const app = express()
    //设置 cookieParser 中间件
    app.use(cookieParser())
    
    // 设置cookie
    app.post('/login',(req,res)=>{
      
      // 不带时效性
      res.cookie('username','ll')
      // 带时效性,maxAge设置存活时间,单位是毫秒
      res.cookie('em','qq',{maxAge:10*10*1000})
      res.send('ok')
      
    })
    
  3. 读取cookie

    console.log(req.cookies)
    
  4. 删除cookie

    res.clearCookie('username')
    

session

  1. 安装

    npm i express-session
    
  2. 设置Session中间件

    const session = require('express-session')
    // 设置Session中间件
    app.use(session(
    {
      name:'sid', // 设置cookie的name
      secret:'0010',// 参与加密的字符串(盐值)
      saveUninitialized: false, //是否为每次请求都设置一个cookie用来存储session的id
      resave: true, //是否在每次请求时重新保存session
      store: MongoStore.create({
        mongoUrl: 'mongodb://127.0.0.1:27017/user' //数据库的连接配置
        }),
      cookie: { httpOnly: true, // 开启后前端无法通过 JS 操作 
               maxAge: 1000 * 300 // 控制 sessionID 的过期时间}
    }
    ))
    
  3. 创建Session

    req.session.username = 'll'
    
  4. 读取Session

    req.session.username
    
  5. 销毁Session

    req.session,destory(()=>{
      res.send('quit')
    }
    )
    
posted @ 2024-12-17 15:31  木子七  阅读(14)  评论(0)    收藏  举报