首页 > 编程语言 >NodeJs-express会话控制

NodeJs-express会话控制

时间:2024-12-17 15:47:31浏览次数:3  
标签:req NodeJs res express 会话 session cookie Session

  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')
    }
    )
    

标签:req,NodeJs,res,express,会话,session,cookie,Session
From: https://www.cnblogs.com/Mickey-7/p/18612590

相关文章

  • Express 初探
    Express|Node.jswebapplicationframeworkHelloWorldnpminit-y#新建项目npminstallexpress#安装Expressapp.js:constexpress=require('express');constapp=express();constport=3000;//定义一个简单的路由app.get('/',(req,res)......
  • NodeJs-express框架
    express是一个基于Node.js平台的极简、灵活的WEB应用开发框架官方网址#express本身是一个npm包,直接使用npm下载npminitnpmiexpressexpress路由一个路由的组成有请求方法,路径和回调函数组成send方法用于向客户端发送响应数据,它能够自动根据数据类型设置......
  • NodeJs-nvm
    nvm全称NodeVersionManager是用来管理node版本的工具,方便切换不同版本的Node.js安装nvm(homebrew)brewinstallnvm查询可以可以下载的node版本nvmlistavailable显示已经安装的nodejs版本列表nvmlist安装指定版本的nodejsnvminstall版本号安......
  • C++ 出现异常“.... \debug_heap.cpp Line:980 Expression:__acrt_first_block==head
      1. “修改了当前程序的vc运行库配置,问题解决(1)修改:项目-属性-配置属性-C/C++-代码生成-运行库,将其改为“多线程调试(/MTd)”。”其中:【多线程/MT】【多线程调试/MTd】-----【多线程DLL/MD(默认)】-------【多线程调试DLL/MDd】 /MT、/MTd、/MD、/MDd什么......
  • Express的使用笔记9 使用bcrypt算法给用户密码加密
    先了解一下bcrypt算法,一种基于Blowfish密码学算法的密码散列函数,用于在密码存储时抵抗暴力破解攻击,通过在散列过程中加salt来提高安全性,salt是个随机生成的数据串,与密码一起被散列,使得即使两个相同的密码也会产生不同的散列值。bcrypt算法允许开发者指定工作因子(成本因子),决定散列......
  • UI框架DevExpress XAF v24.2新功能预览 - .NET Core / .NET增强
    DevExpressXAF是一款强大的现代应用程序框架,允许同时开发ASP.NET和WinForms。DevExpressXAF采用模块化设计,开发人员可以选择内建模块,也可以自行创建,从而以更快的速度和比开发人员当前更强有力的方式创建应用程序。在上文中(点击这里回顾>>),我们为大家介绍了DevExpressXAFv24.2......
  • PbootCMS 网站提示“会话目录写入权限不足”,如何解决?
     当你在使用PbootCMS网站时,如果遇到“会话目录写入权限不足”的错误提示,这通常是因为某些目录的写入权限不足,导致PbootCMS无法正常写入会话数据。以下是一些常见的解决方法和步骤:确定需要修改权限的目录:PbootCMS中有几个目录需要写入权限,以确保系统正常运行。这些目录......
  • nodejs bull 实现延时队列
    nodejsbull实现延时队列 bull.jsconstQueue=require('bull');constqueue=newQueue('nike',{redis:{port:6379,host:'127.0.0.1',db:3,password:null},prefix:'nike_',defaultJobO......
  • 如果修改权限后仍然提示“会话目录写入权限不足”,应该如何处理?
    如果您已经按照建议修改了PbootCMS相关目录的权限,但仍然收到“会话目录写入权限不足”的提示,可能是由于以下几个原因导致的:服务器配置问题:某些服务器可能有特殊的权限管理机制,例如SELinux或AppArmor。这些机制可能会限制Web服务器对某些目录的写入权限,即使您已经设置了755权......
  • nodejs基于Vue.js的学生宿舍管理系统 bs36q
    文章目录项目源码技术介绍具体实现截图开发工具和技术简介课题重点难点:课题重点难点:实施方案:选题特色nodejs类核心代码部分展示系统测试演示视频/源码获取/联系我项目源码技术介绍前端:vue.js+ElementUi数据库:mysql数据库工具:Navicat/SQLyog都可以开发运行软件:VS......