文档章节

Express express-session

博为峰教研组
 博为峰教研组
发布于 2016/12/08 19:34
字数 372
阅读 18
收藏 1

express-session的一些方法:

1. Session.destroy():删除session,当检测到客户端关闭时调用。

2. Session.reload():当session有修改时,刷新session。

3. Session.regenerate():将已有session初始化。

4. Session.save():保存session。

 

内存存 方式例代:

一旦我们将express-session中间件用use挂载后,我们可以很方便的通过req参数来存储和访问session对象的数据。req.session是一个JSON格式的JavaScript对象,我们可以在使用的过程中随意的增加成员,这些成员会自动的被保存到option参数指定的地方,默认即为内存中去。

var express = require('express');

var session = require('express-session');

var app = express();

// Use the session middleware

app.use(session({

////这里的name值得是cookie的name,默认cookie的name是:connect.sid

  //name: 'hhw',

  secret: 'keyboard cat',

  cookie: ('name', 'value', { path: '/', httpOnly: true,secure: false, maxAge:  60000 }),

  //重新保存:强制会话保存即使是未修改的。默认为true但是得写上

  resave: true,

  //强制“未初始化”的会话保存到存储。

  saveUninitialized: true,  

}))

// 只需要用express app的use方法将session挂载在‘/’路径即可,这样所有的路由都可以访问到session。

//可以给要挂载的session传递不同的option参数,来控制session的不同特性

app.get('/', function(req, res, next) {

  var sess = req.session//用这个属性获取session中保存的数据,而且返回的JSON数据

  if (sess.views) {

    sess.views++

    res.setHeader('Content-Type', 'text/html')

    res.write('<p>欢迎第 ' + sess.views + '次访问       ' + 'expires in:' + (sess.cookie.maxAge / 1000) + 's</p>')

    res.end();

  } else {

    sess.views = 1

    res.end('welcome to the session demo. refresh!')

  }

});

app.listen(3000);

© 著作权归作者所有

共有 人打赏支持
上一篇: Express jade
博为峰教研组
粉丝 50
博文 1224
码字总数 479077
作品 0
黄浦
程序员
私信 提问
【深入浅出Node.js系列十一】Node.js开发框架Express4.x

深入浅出Node.js系列 【深入浅出Node.js系列一】什么是Node.js 【深入浅出Node.js系列二】Node.js&NPM的安装与配置 【深入浅出Node.js系列三】深入Node.js的模块机制 【深入浅出Node.js系列四...

陶邦仁
2016/01/19
282
0
细谈Node.js项目实战

使用node.js开发的token用户验证的网站很多,典型的网站,如猪八戒威客网站,使用了node.js技术。 在网站应用中,会为不同的用户赋予不同的权限(比如为管理员账户赋予较高的权限),所以我们...

crossmix
2016/01/04
125
0
Node.js Express 从入门到菜鸟(二)——Cookie+Session+三层搭建

上一篇中,咱们说到使用Node.js express搭建简单的网站(“不就是Hello World!么”,只要你够蛋疼,返回整个html文件的字符串,什么网站你也能做),以及ejs模板的使用。 这一篇本来是想直接...

braveqin
2014/03/15
0
0
node exprss-session 和connect-mongo

let express = require('express');let session = require('express-session');let app = new express();let MongoStore = require('connect-mongo')(session);app.use(session({ })}))app.g......

悔创阿里-杰克马
07/16
0
0
在yog2框架中自建模块,以实现socket.io与express共享session中间件

导引 最近遇到了一个需要在yog2框架中增加websocket服务的案子,此文主要讲在案子过程中碰到的一些问题和解决方案 前言 一、如果你只是想要解决socket.io与express共享解析session中间件的问...

tomzhu
08/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MariaDB 服务器在 MySQL Workbench 备份数据的时候出错如何解决

服务器是运行在 MariaDB 10.2 上面的,在使用 MySQL Workbench 出现错误: mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"'......

honeymose
今天
1
0
apache顶级项目(二) - B~C

apache顶级项目(二) - B~C https://www.apache.org/ Bahir Apache Bahir provides extensions to multiple distributed analytic platforms, extending their reach with a diversity of s......

晨猫
今天
5
0
day152-2018-11-19-英语流利阅读

“超级食物”竟然是营销噱头? Daniel 2018-11-19 1.今日导读 近几年来,超级食物 superfoods 开始逐渐走红。不难发现,越来越多的轻食餐厅也在不断推出以超级食物为主打食材的健康料理,像是...

飞鱼说编程
今天
10
0
SpringBoot源码:启动过程分析(二)

接着上篇继续分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 一样的,我们先把时序图贴上来,方便理解: 二.源码分析 回顾一下,前面我们分析到了下...

Jacktanger
昨天
4
0
Apache防盗链配置,Directory访问控制,FilesMatch进行访问控制

防盗链配置 通过限制referer来实现防盗链的功能 配置前,使用curl -e 指定referer [root@test-a test-webroot]# curl -e "http://www.test.com/1.html" -x127.0.0.1:80 "www.test.com/1.jpg......

野雪球
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部