Express express-session

express-session的一些方法:html

1. Session.destroy():刪除session,當檢測到客戶端關閉時調用。express

2. Session.reload():當session有修改時,刷新session。cookie

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

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

 

內存存 方式例代:ui

一旦咱們將express-session中間件用use掛載後,咱們能夠很方便的經過req參數來存儲和訪問session對象的數據。req.session是一個JSON格式的JavaScript對象,咱們能夠在使用的過程當中隨意的增長成員,這些成員會自動的被保存到option參數指定的地方,默認即爲內存中去。code

var express = require('express');htm

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);

相關文章
相關標籤/搜索