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开发的前后台博客系统的流程系统,希望对 ...
随机推荐
- java heap space解决方法和JVM参数设置
在JVM中如果98%的时间是用于GC(Garbage Collection)且可用的 Heap size 不足2%的时候将抛出异常信息,java.lang.OutOfMemoryError: Java ...
- SpringMVC中在web.xml中添加中文过滤器的写法
<filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>or ...
- css样式表之边框
方框和边框, 边框的顺序为, 上右下左 框的width和height不包括边距的宽度, 设置多少就是多少, margin代表外边距, padding代表内边距, border是边框, 边框border ...
- mysql增加远程连接用户及查看数据库表结构
一.增加远程连接用户 1.用root权限登录数据库 2.加用户:grant all privileges on *.* to '111'@'192.168.1.%' identified by '2 ...
- Escape(状态压缩+最大流,好题)
Escape http://acm.hdu.edu.cn/showproblem.php?pid=3605 Time Limit: 4000/2000 MS (Java/Others) Memo ...
- (三)介绍简单的ROS命令
1.ROS文件系统中的基本概念 Packages: Package是ROS系统中最底层最基本的组织,里面存放各种文件:库.工具.可执行文件等.Manifest: 一个package描述xml文件,定义 ...
- Spring框架的事务管理之编程式的事务管理(了解)
1. 说明:Spring为了简化事务管理的代码:提供了模板类 TransactionTemplate,所以手动编程的方式来管理事务,只需要使用该模板类即可!!2.手动编程方式的具体步骤如下: 1.步骤 ...
- 阈值分割与XLD轮廓拼接——第4讲
一.阈值分割 阈值分割算子众多: threshold :这是最基本最简单的阈值算子. binary_threshold :它是自动阈值算子,自动选出暗(dark)的区域,或者自动选出亮(light)的 ...
- 有关gitlab的神秘操作.....version&&domain设置...
在使用gitlab的时候,如果服务器IP变动,之前的domain写入了配置文件了,如下路径: [root@gitlab-server ~]# vim /var/opt/gitlab/gitlab-ra ...
- DB2事务日志
1.DB2数据库的日志原理 事务日志记录数据库中所有对象和数据的改变,在早前版本中最大可达256G,其大小为( logprimary + logsecond ) * logfilsiz,其中logpr ...