1、首先安装express-session模块 npm install express-session --save

2、引入express-session,以及设置中间键

var session  = require('express-session');
app.use(session ({
secret:'Keyboard cat',
resave:false,
saveUninitialized: true,
cookie: {secure:false,maxAge:5000}, /*第一个参数:只有在https才可以访问cookie;第二个参数:设置cookie的过期时间*/
rolling:true/*只要页面在操作就不会过期,无操作5秒后过期*/
}))
app.get('/login',function (req,res) {
req.session .userinfo="zhangsan111"; /*设置session*/
res.send("node");
})
app.get('/',function (req,res) {
if (req.session .userinfo){
res.send("node"+req.session .userinfo);
}else{
res.send("未登录");
} })

3、销毁session的两种方法:

    01、改变cookie的过期时间
app.get('/logOut',function(req,res){
req.session.cookie.maxAge = 0;
res.send("退出成功");
})
     02、销毁session

req.session.destroy(function (err) {
console.log(err);
})

4、将session存入mongo数据库的方法

需要 安装connect-mongo

var session = require('express-session');
var MongoStore = require('connect-mongo')(session);
app.use(session({
secret:'Keyboard cat',
resave:false,
saveUninitialized: true,
cookie: {secure:false,maxAge:500000}, /*只有在https才可以访问cookie*/
rolling:true,/*只要页面在操作就不会过期,无操作5秒后过期*/
store: new MongoStore({
url: 'mongodb://127.0.0.1:27017/test',
touchAfter: 24 * 3600 // See below for details
})
}));

贴两张session设置的图:

express中session的基本使用的更多相关文章

  1. express中session的存储与销毁

    1.首先在使用session之前需要先配置session的过期时间等,在入口文件app.js中 app.use(express.session({ cookie: { maxAge: config.g ...

  2. express中session的使用

    一.Session 简单介绍 session 是另一种记录客户状态的机制,不同的是 Cookie 保存在客户端浏览器中,而 session 保存在服务器上.Session 的用途:session 运行 ...

  3. express中 使用session与cookie

    1.express如何使用session与cookie : https://www.jianshu.com/p/1839e482274e  或  https://www.cnblogs.com/chy ...

  4. express使用session会话

    前几周在学习nodejs基础,发现nodejs没有session会话变量,导致登录注册实现多了很多步骤.现在记录一下express中会话变量用法 安装express-session方法: 1.cnpm ...

  5. express中cookie的使用和cookie-parser的解读

    https://segmentfault.com/a/1190000004139342?_ea=504710 最近在研究express,学着使用cookie,开始不会用,就百度了一下,没有百度到特别完 ...

  6. ASP.NET中Session的sessionState 4种mode模式

    1. sessionState的4种mode模式 在ASP.NET中Session的sessionState的4中mode模式:Off.InProc.StateServer及SqlServer. 2. ...

  7. Spring MVC中Session的正确用法<转>

    Spring MVC是个非常优秀的框架,其优秀之处继承自Spring本身依赖注入(Dependency Injection)的强大的模块化和可配置性,其设计处处透露着易用性.可复用性与易集成性.优良的 ...

  8. 精华 对express中next函数的一些理解

        关于next主要从三点来进行说明: next的作用是什么? 我们应该在何时使用next? next的内部实现机制是什么? Next的作用 我们在定义express中间件函数的时候都会将第三个参 ...

  9. 在IIS Express中调试时无法读取配置文件 错误

    在IIS Express中调试代码时,如果出现"无法读取配置文件"的问题(如图),这种情况是IIS Express的"applicationhost.config&quo ...

随机推荐

  1. cut和grep 选取命令

    cut命令 cut:将一段信息的某一段"切"出来,处理的信息是以行为单位.参数: -d :后接分隔字符,与-f一起使用: -f :依据-d的分隔字符将一段信息切割成为数段,用-f取 ...

  2. 如何搭建一个简易的 Web Terminal(一)

    前言 在介绍本篇文章的时候,先说一下本篇文章的一些背景.笔者是基于公司的基础建设哆啦 A 梦(Doraemon)一些功能背景写的这篇文章,不了解.有兴趣的同学可以去 袋鼠云 的 github 下面了解 ...

  3. C语言入门思路

    C语言编程入门 0.数学中的常数在编程语言中称为常量,是一直不变的.如1,2,'a',"abc",3456,34.56等1.变量:类似于数学中的未知数.实际上就是指可用内存的一块区 ...

  4. PYTHON matplotlib入门

    '''作为线性图的替代,可以通过向 plot() 函数添加格式字符串来显示离散值. 可以使用以下格式化字符. 字符 描述 '-' 实线样式 '--' 短横线样式 '-.' 点划线样式 ':' 虚线样式 ...

  5. LeetCode解题记录(双指针专题)

    1. 算法解释 双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务.也可以延伸到多个数组的多个指针. 若两个指针指向同一数组,遍历方向相同且不会相交,则也称为滑动窗口(两个指针包围的区域 ...

  6. 家庭账本开发day07

    返回数据问题解决,需要按照规定的json数据进行返回. 利用jsonobejact或者GSON工具将对象ArrayList转化为json 格式.然后response.getWriter().write ...

  7. W: GPG 错误:http://mirrors.aliyun.com xenial/mongodb-org/3.2 Release: 由于没有公钥,无法验证下列签名: NO_PUBKEY D68FA50FEA312927

    更新错误: 正在读取软件包列表... 完成 W: GPG 错误:http://mirrors.aliyun.com xenial/mongodb-org/3.2 Release: 由于没有公钥,无法验 ...

  8. SpringMVC中@Controller和@RequestMapping用法

    一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Mo ...

  9. ArrayList 深入浅出

    ArrayList 特点:按添加顺序排列.可重复.非线程安全: 底层实现:数组 扩容原理:初始化集合时,默认容量为 0,第一次添加元素时扩容为 10,容量不够时扩容为原来容量的 1.5 倍. 这里扩容 ...

  10. YsoSerial 工具常用Payload分析之URLDNS

    本文假设你对Java基本数据结构.Java反序列化.高级特性(反射.动态代理)等有一定的了解. 背景 YsoSerial是一款反序列化利用的便捷工具,可以很方便的生成基于多种环境的反序列化EXP.ja ...