小编tor*_*ebo的帖子

Express.js会话在路由子集上激活

我正在使用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'));

}); …
Run Code Online (Sandbox Code Playgroud)

session routes connect express

3
推荐指数
1
解决办法
935
查看次数

标签 统计

connect ×1

express ×1

routes ×1

session ×1