如何基于nodejs在url上创建不同的会话?

时间:2015-01-12 13:21:33

标签: node.js session session-cookies passport.js

我们的网站有两个部分:

1. admin (content management)  
2. site

管理员部分将有网址'/ admin',网站部分有网址'/'。

示例:我的网站名称为www.example.com,然后管理部分网址为“www.example.com/admin”,网站网址为“www.example.com”。

我想创建基于网址的会话意味着来自管理部门的请求将具有与网站部分请求不同的会话。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

假设您正在使用express,您可以将路由器与路由分开,并将会话中间件应用于每个路由器。

<强>路由/ index.js

var express = require('express'),
    router = express.Router(),
    session = require('express-session');

router.use(session({
    secret: 'index route secret',
    resave: false,
    saveUninitialized: true
}));

module.exports = router;

<强>路由/ admin.js

var express = require('express'),
    router = express.Router(),
    session = require('express-session');

router.use(session({
    secret: 'admin route secret',
    resave: false,
    saveUninitialized: true
}));

module.exports = router;

<强> app.js

var express = require('express'),
    app = express();

app.use('/', require('./routes/index'));
app.use('/admin', require('./routes/admin'));

app.listen(3000);

documentation