node express session
在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的更多相关文章
- 我的node+express小例子
启动index.js: var express = require("express"); var path = require("path"); var op ...
- express session 实现登录
https://www.cnblogs.com/mingjiatang/p/7495321.html Express + Session 实现登录验证 1. 写在前面 当我们登录了一个网站,在没有 ...
- 【原】小玩node+express爬虫-2
上周写了一个node+experss的爬虫小入门.今天继续来学习一下,写一个爬虫2.0版本. 这次我们不再爬博客园了,咋玩点新的,爬爬电影天堂.因为每个周末都会在电影天堂下载一部电影来看看. talk ...
- Node+Express+node-mysql 实战于演习 全套mysql(增删改查)
最近这段时间研究Node感觉不错,自己做了一个增删改查,虽然有些简陋,但是思想是想通的,其实所有项目都是增删改查,有助于初学者快速掌握Node 首先 本实例展示的是基于Node+Express+nod ...
- Node Express 4.0 安装
前言 今天想要用nodejs 写个后台服务,很久之前看过node express 框架,可真当向下手安装的时候,发现好多命令都不记得了.写完后台服务,没事了,总结了下安装过程,记录一下,以便以后查阅方 ...
- node express
在某QQ群里,发现大家都在搞node,为了不被out,这周主要研究了一下,还挺高大上. 参考了下资料,适合初学者学习. Node和NPM的安装够便捷了,不细说...有几点基础顺手提一下: 安装命令中的 ...
- Webpact打包React后端Node+Express
Webpact打包React后端Node+Express 前言 React官方推荐用Browserify或者Webpack 来开发React组件. Webpack 是什么?是德国开发者 Tobias ...
- Node+Express+MongoDB + Socket.io搭建实时聊天应用
Node+Express+MongoDB + Socket.io搭建实时聊天应用 前言 本来开始写博客的时候只是想写一下关于MongoDB的使用总结的,后来觉得还不如干脆写一个node项目实战教程实战 ...
- 基于react全家桶+antd-design+webpack2+node+express+mongodb开发的前后台博客系统
很久没更新博客,最近也有点忙,然后业余时间搞了一个比较完整基于react全家桶+antd-design+webpack2+node+express+mongodb开发的前后台博客系统的流程系统,希望对 ...
随机推荐
- zabbix超级乱码解决问题
个人而言,网上那些方法并不顶什么用,研究了一番总结出了自己的一个方法. 像这种,出现了严重乱码,也不是像网上说的那样把楷体复制过去就好.事实证明我复制过去好多次了,然而并没有什么用. 下面是我自己总结 ...
- java的反射应用
class B{ public static void main(String[] arg){ Class c_a = Class.forName(packageName + "." ...
- 使用httplib打开链接
[使用httplib打开链接] urllib打开网页时,不会自动跳转,而http会自动跳转,所以使用httplib去打开链接,以获取内容. 参考:https://docs.python.org/2.7 ...
- 在制MO未取到FP2
描述:工单被过滤掉 IN_SFCHEADER表数据被删除掉 备份表监控可见数据是有写入IN_SFCHEADER表 删除前会将数据写入IN_SFCHEADER_TEMP表,发现物料编码是带了一个尾续CZ ...
- jquery 显示 隐藏
参考 http://www.w3school.com.cn/jquery/jquery_hide_show.asp $("#a").hide(); $("#a" ...
- springmvc DispatchServlet初始化九大加载策略(三)
7. initRequestToViewNameTranslator 请求视图名 它主要与视图解析有关,如果对ViewResolvers.ModelAndView.View等没有多大印象,可以先看第8 ...
- 第八章 高级搜索树 (a3)伸展树:算法实现
- 网页中引用优酷视频去广告自动播放代码[xyytit]
很多时候需要在网站中加入视频,可视频太大放自己服务器上太占空间,可以把视频上传到优酷网上,这样节省了空间,打开速度方面也会有不少提升.下面教大家如何引用自动播放的优酷视频.把下面的代码加在你网页适当位 ...
- 24-filter-拦截器
在web.xml里面配置,有两种形式: 然后编写filter类: @Override public void doFilter(ServletRequest arg0, ServletResponse ...
- dede 复制文章,远程图片无法本地化
解决方法: 1.找到dede的后台目录,在后台目录下的inc下找到inc_archives_functions.php 2.搜索GetCurContent函数,找到如下这段代码: preg_match ...