• node session会话


    会话机制:

    浏览器-->服务器

    浏览器<--服务器 (产生一个会话id,保存在cookie中)

    浏览器-->服务器(服务器根据会话id关联到相应数据信息体data)

    var express = require('express');
    var session = require('express-session');
    var cookieParser = require('cookie-parser');

    //在安装cookie-parser时可能会出现问题,可以用国内淘宝镜像,安装淘宝镜像

    //参考网址:https://blog.csdn.net/x386277405/article/details/78297526

    var app = express();

    app.use(cookieParser());
    app.use(session({

      name : 'sess‘,  //在cookie中session的字段名,默认为 connect.sid
      store : ,   //session的储存方式,默认存放在内存中,也可以使用 redis,mongodb 等。express 生态中都有相应模块的支持。

      secret : '老王',  //计算hash值,放在cookie中,使产生的signedCookie防篡改

      cookie : {maxAge:20000}  ,//设置存放 session id 的 cookie 的相关选项,默认为(default: { path: '/', httpOnly: true, secure: false, maxAge: null })

      genid :   ,//产生一个新的 session_id 时,所使用的函数, 默认使用 uid2 这个 npm 包

      rolling: false  ,//每个请求都重新设置一个 cookie,默认为 false

      resave : true  //即使 session 没有被修改,也保存 session 值,默认为 true
    }));

    app.get('/num',function(req,res){
      if(!req.session.num){
        req.session.num = 1;
      }
      req.session.num++;
      res.send("the num is:"+req.session.num);
    });
    app.listen(8000);

    同时对session的操作可以将session对象保存到服务器文件目录下,需要用到session-file-store插件

    var session require('express-session');
    var FileStore require('session-file-store')(session);
     
    app.use(session({
        storenew FileStore(),
    }));

    参考网址:http://wiki.jikexueyuan.com/project/node-lessons/cookie-session.html

  • 相关阅读:
    .NET的SqlHelper应用代码
    .NET获取客户端的操作系统、IP地址、浏览器版本
    Codevs 3981 动态最大子段和
    洛谷 P3373 【模板】线段树 2
    一些笔记【杂】
    洛谷 P1432 倒水问题
    洛谷 P2324 [SCOI2005]骑士精神
    Codevs 1010 过河卒
    POJ 3278 Catch That Cow
    洛谷P2184 贪婪大陆
  • 原文地址:https://www.cnblogs.com/TomAndJerry/p/9043595.html
Copyright © 2020-2023  润新知