express-session 中间件设置session

 

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

var app = express()

app.use(session({
    secret: 'keyboard cat',    //作为服务端生成session的加密字符串,可以随意设置,目的是增加安全性
    resave: false,         //强制保存session,及时没有session变化。默认为true,建议设置为false
    saveUninitialized: true,   //强制将未初始化的session存储,默认为true(未发送数据也会生成一个session)
    name:'session.uid'           //设置客户端key名,默认connect.sid
}))

app.use(function(req, res, next) {
    if (!req.session.views) {
        req.session.views = {}    //添加session,req.session.xxx
    }
    
    var pathname = parseurl(req).pathname
    
    req.session.views[pathname] = (req.session.views[pathname] || 0) + 1
    next()
})

app.get('/foo', function(req, res, next) {
    res.send('you viewed this page ' + req.session.views['/foo'] + ' times')
})

app.get('/bar', function(req, res, next) {
    res.send('you viewed this page ' + req.session.views['/bar'] + ' times')
})



app.listen(8080, function() {
    console.log('localhost:8080')
})    

 

 

 
posted @ 2021-07-06 10:19  终末s  阅读(160)  评论(0)    收藏  举报