在express4.0版本以上,需要单独增加session模块:express-session:https://www.npmjs.com/package/express-session

具体做法是,在app.js中

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

// 设置session:不明白为什么需要设置这两个属性?
var sess = {
secret: 'keyboard cat',
cookie: {}
} app.use(session(sess));

然后再routes,controllers,models中就可以使用

req.session.wj = 'sfp';

console.log(req.session.wj);

使用:在app中引入后,在其他页面直接使用,不用再引入了。

session的存储:

如果没有存在数据库中,而且使用了supervisor,则一旦修改,则会重启服务,session会消失;

如果存在mongodb中,而且使用了supervisor,则一旦修改,就算重启服务,session还是会保存下来。

官网教程:https://github.com/expressjs/session

默认是内存存储;上线之后,要存入到数据库中。

session()的属性

cookie:path,httponly, secure, maxAge

secure:true->https

secure:false->http, trust proxy

genid

name:同一主机(hostname+port),需用name区分session

proxy

resave: 如果有touch,则设false;否则设true,一般为true

rolling:false

saveUninitialized:

secret:store, unset

方法:regenerate destory reload save touch(跟新maxAge的属性)

属性:req.session.id req.session.cookie req.sessionID

存储到数据库

场景:进行单元测试,访问注册页,如果没登陆的话,跳到login;登陆的话,才能正常返回。现在测试访问注册页,一般来说需要两次请求,但实际上一次就能搞定。

解决办法:

1、app.use(function(){
req.session.user= req.cookie('mock_user');
})
这里需要express-session;cookie-parse
2、request.set('cookie', ''), 首先执行 1 middleware,session中就有值了,/register能通过,然后正常返回。

node express session的更多相关文章

  1. 我的node+express小例子

    启动index.js: var express = require("express"); var path = require("path"); var op ...

  2. express session 实现登录

    https://www.cnblogs.com/mingjiatang/p/7495321.html Express + Session 实现登录验证   1. 写在前面 当我们登录了一个网站,在没有 ...

  3. 【原】小玩node+express爬虫-2

    上周写了一个node+experss的爬虫小入门.今天继续来学习一下,写一个爬虫2.0版本. 这次我们不再爬博客园了,咋玩点新的,爬爬电影天堂.因为每个周末都会在电影天堂下载一部电影来看看. talk ...

  4. Node+Express+node-mysql 实战于演习 全套mysql(增删改查)

    最近这段时间研究Node感觉不错,自己做了一个增删改查,虽然有些简陋,但是思想是想通的,其实所有项目都是增删改查,有助于初学者快速掌握Node 首先 本实例展示的是基于Node+Express+nod ...

  5. Node Express 4.0 安装

    前言 今天想要用nodejs 写个后台服务,很久之前看过node express 框架,可真当向下手安装的时候,发现好多命令都不记得了.写完后台服务,没事了,总结了下安装过程,记录一下,以便以后查阅方 ...

  6. node express

    在某QQ群里,发现大家都在搞node,为了不被out,这周主要研究了一下,还挺高大上. 参考了下资料,适合初学者学习. Node和NPM的安装够便捷了,不细说...有几点基础顺手提一下: 安装命令中的 ...

  7. Webpact打包React后端Node+Express

    Webpact打包React后端Node+Express 前言 React官方推荐用Browserify或者Webpack 来开发React组件. Webpack 是什么?是德国开发者 Tobias ...

  8. Node+Express+MongoDB + Socket.io搭建实时聊天应用

    Node+Express+MongoDB + Socket.io搭建实时聊天应用 前言 本来开始写博客的时候只是想写一下关于MongoDB的使用总结的,后来觉得还不如干脆写一个node项目实战教程实战 ...

  9. 基于react全家桶+antd-design+webpack2+node+express+mongodb开发的前后台博客系统

    很久没更新博客,最近也有点忙,然后业余时间搞了一个比较完整基于react全家桶+antd-design+webpack2+node+express+mongodb开发的前后台博客系统的流程系统,希望对 ...

随机推荐

  1. zabbix超级乱码解决问题

    个人而言,网上那些方法并不顶什么用,研究了一番总结出了自己的一个方法. 像这种,出现了严重乱码,也不是像网上说的那样把楷体复制过去就好.事实证明我复制过去好多次了,然而并没有什么用. 下面是我自己总结 ...

  2. java的反射应用

    class B{ public static void main(String[] arg){ Class c_a = Class.forName(packageName + "." ...

  3. 使用httplib打开链接

    [使用httplib打开链接] urllib打开网页时,不会自动跳转,而http会自动跳转,所以使用httplib去打开链接,以获取内容. 参考:https://docs.python.org/2.7 ...

  4. 在制MO未取到FP2

    描述:工单被过滤掉 IN_SFCHEADER表数据被删除掉 备份表监控可见数据是有写入IN_SFCHEADER表 删除前会将数据写入IN_SFCHEADER_TEMP表,发现物料编码是带了一个尾续CZ ...

  5. jquery 显示 隐藏

    参考 http://www.w3school.com.cn/jquery/jquery_hide_show.asp $("#a").hide(); $("#a" ...

  6. springmvc DispatchServlet初始化九大加载策略(三)

    7. initRequestToViewNameTranslator 请求视图名 它主要与视图解析有关,如果对ViewResolvers.ModelAndView.View等没有多大印象,可以先看第8 ...

  7. 第八章 高级搜索树 (a3)伸展树:算法实现

  8. 网页中引用优酷视频去广告自动播放代码[xyytit]

    很多时候需要在网站中加入视频,可视频太大放自己服务器上太占空间,可以把视频上传到优酷网上,这样节省了空间,打开速度方面也会有不少提升.下面教大家如何引用自动播放的优酷视频.把下面的代码加在你网页适当位 ...

  9. 24-filter-拦截器

    在web.xml里面配置,有两种形式: 然后编写filter类: @Override public void doFilter(ServletRequest arg0, ServletResponse ...

  10. dede 复制文章,远程图片无法本地化

    解决方法: 1.找到dede的后台目录,在后台目录下的inc下找到inc_archives_functions.php 2.搜索GetCurContent函数,找到如下这段代码: preg_match ...