node 框架 express 对于 cookie 和 seesion的操作

安装两个 包   

cookie-parser;   cnpm i -S cookie-parser

cookie-session;   cnpm i -S cookie-session

下面针对cookie的 读写删除操作

const express=require('express');
// 引入 cookieparser  方便针对cookie 做操作
const cookieParser = require('cookie-parser');
// 引入 cookieSession 方便针对 session 做操作
const cookieSession = require('cookie-session');


const server = express();

//使用cookie中间件cookieParser,并且使用签名规则
server.use(cookieParser("ewt345regge"));

server.use('/aaa',function (req,res) {

    // res.cookie(键名,值,options) ;种植cookie的方法;暂不需要用到cookieParser;
    // path就是cookie种在当前的路径下面的;并且只在这个目录下可以读取;
    //  maxage就是 过期时间; 单位为毫秒;
    //res.cookie('user','red',{path:'/aaa',maxAge:30*24*3600*1000});

  // 设置签名规则;
    req.secret="ewt345regge"
  //使用签名规则
    res.cookie("user1","blue",{signed:true,path:'/aaa',});


    //使用过cookieParser后, 就可以访问未签名cookies
    console.log(req.cookies);
    //访问签名的cookies需要在上方cookieParser加入签名规则;就可以拿到签名以后的cookies了
    console.log(req.signedCookies);

   //清除cookie,填入清除的 cookie名字;
    //res.clearCookie("user");

  res.send("ok")

});

server.listen(8080)

针对session操作

const express=require('express');
// 引入 cookieparser  方便针对cookie 做操作
const cookieParser = require('cookie-parser');
// 引入 cookieSession 方便针对 session 做操作
const cookieSession = require('cookie-session');


const server = express();


// 配合 cookieSession ,防止劫持的 数组密钥;循环用的;否则报错;
const keys=['aa','bb','cc'];
//使用cookie中间件cookieParser
server.use(cookieParser());
//使用cookie-session 中间件 ,前置 就是cookieParser,传入keys。name;就是 到 客户端的显示名字
server.use(cookieSession({
    name:"ses",
    keys,
    maxAge:30*1000*24*3600
}));
server.use('/aaa',function (req,res) {
    // 查看此用户的访问次数;
    if(!req.session.count){
        req.session.count=1;
    }else{
        req.session.count++;
    }

  //删除session
 //delete res.session;

    //查看session;
 console.log(req.session.count);
  res.send("ok");

});

server.listen(8080)

猜你喜欢

转载自blog.csdn.net/wangrong111222/article/details/81942750