nodejs中的session
来源:互联网 发布:初学者吉他 知乎 编辑:程序博客网 时间:2024/06/06 03:02
store: session 的存储方式,默认存放在内存中,也可以使用 redis,mongodb 等。express 生态中都有相应模块的支持。
secret: 通过设置的 secret 字符串,来计算 hash 值并放在 cookie 中,使产生的 signedCookie 防篡改。
cookie: 设置存放 session id 的 cookie 的相关选项,默认为
(default: { path: '/', httpOnly: true, secure: false, maxAge: null })
genid: 产生一个新的 session_id 时,所使用的函数, 默认使用 uid2 这个 npm 包。
rolling: 每个请求都重新设置一个 cookie,默认为 false。
resave: 即使 session 没有被修改,也保存 session 值,默认为 true
var express = require('express');// 首先引入 express-session 这个模块var session = require('express-session');var app = express();app.listen(5000);// 按照上面的解释,设置 session 的可选参数app.use(session({ secret: 'recommand 128 bytes random string', // 建议使用 128 个字符的随机字符串 cookie: { maxAge: 60 * 1000 }}));app.get('/', function (req, res) { // 检查 session 中的 isVisit 字段 // 如果存在则增加一次,否则为 session 设置 isVisit 字段,并初始化为 1。 if(req.session.isVisit) { req.session.isVisit++; res.send('<p>第 ' + req.session.isVisit + '次来此页面</p>'); } else { req.session.isVisit = 1; res.send("欢迎第一次来这里"); console.log(req.session); }});
express-session的常用参数:
secret:一个String类型的字符串,作为服务器端生成session的签名。
name:返回客户端的key的名称,默认为connect.sid,也可以自己设置。
resave:(是否允许)当客户端并行发送多个请求时,其中一个请求在另一个请求结束时对session进行修改覆盖并保存。
默认为true。但是(后续版本)有可能默认失效,所以最好手动添加。
saveUninitialized:初始化session时是否保存到存储。默认为true, 但是(后续版本)有可能默认失效,所以最好手动添加。
cookie:设置返回到前端key的属性,默认值为{ path: '/', httpOnly: true, secure: false, maxAge: null }。
express-session的一些方法:
Session.destroy():删除session,当检测到客户端关闭时调用。
Session.reload():当session有修改时,刷新session。
Session.regenerate():将已有session初始化。
Session.save():保存session。
链接地址:https://github.com/alsotang/node-lessons/tree/master/lesson16
- nodejs中的session
- nodejs中的cookie与session
- nodejs express session redis
- nodejs Express 中session使用
- nodeJs-express中使用session
- nodejs--express4.x session用法
- MARK一下,nodejs 使用session
- nodeJs session记住登录信息
- nodeJS精华:cookie 和 session
- nodejs express的session验证
- Nodejs通过Session实现身份验证
- nodejs的cookie和session
- nodejs中的require解析
- nodejs中的cron
- nodejs中的几个对象
- nodejs中的Crypto模块
- NodeJS中的promise思考
- nodejs中的HTTP请求
- android viewpager 切换动画
- [Nginx]反向代理Node将3000端口访问转换成80端口
- 图论500题
- oracle数据库 锁表 解锁
- Android 命名规范 (提高代码可维护性)
- nodejs中的session
- 如何获取U盘的状态
- Android RecyclerView适配器的基本工作流程
- 学习笔记:JavaScript-入门篇
- 教女友学习机器学习0X00——简单介绍与线性回归
- php
- Class.forName(xxx.xx.xx) 分析
- 使用Redis实现一个订阅/发布系统
- android 动画框架