我正在使用 expressjs 并希望使用会话对用户进行身份验证以进行登录。站点/应用程序一方面应允许用户在允许缓存这些页面的无状态网页中浏览和调查不同的产品和信息,但另一方面应具有让用户登录和访问使用会话获取的不同内容的功能.
因此,对于我的路由子集,我希望激活会话状态,而对于补充子集(我的路由的其余部分),应该停用快速会话,从而允许缓存这些页面。
我怎样才能以干净的方式做到这一点?
假设我要激活会话的路由是“/kj%C3%B8p”、“/bibliotek”和“/register”。
我尝试了类似的东西
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
var pageName = 'somepage';
var oneYear = 1000*60*60*24*365;
app.use(express.bodyParser());
app.use('/kj%C3%B8p', express.cookieParser());
app.use('/kj%C3%B8p', express.session({key: pageName, secret: 'someCode', store: new RedisStore, cookie: {path:'/', maxAge: (5*oneYear), httpOnly: true}}));
app.use('/bibliotek', express.cookieParser());
app.use('/bibliotek', express.session({key: pageName, secret: 'someCode', store: new RedisStore, cookie: {path: '/', maxAge: (5*oneYear), httpOnly: true}}));
app.use('/registrer', express.cookieParser());
app.use('/registrer', express.session({key: pageName, secret: 'someCode', store: new RedisStore, cookie: {path:'/', maxAge: (5*oneYear), httpOnly: true}}));
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
但这会为三个路由中的每一个重新生成会话对象,并且看起来很混乱。有小费吗?