Сеансы Express.js активируются на подмножестве маршрутов
Я работаю с expressjs и хочу аутентифицировать пользователей для входа в систему с использованием сеансов. Сайт / приложение должно, с одной стороны, позволять пользователю просматривать и исследовать различные продукты и информацию на веб-странице без сохранения состояния, позволяющей кэшировать эти страницы, но, с другой стороны, должно иметь функцию, позволяющую пользователю входить в систему и получать доступ к разному контенту, полученному с помощью сеансов. ,
Таким образом, для подмножества моих маршрутов я хочу активировать состояние сеанса, в то время как для дополнительного подмножества (остальные мои маршруты) экспресс-сеансы должны быть деактивированы, что позволяет кэшировать эти страницы.
Как я могу сделать это чистым способом?
Скажем, маршруты, для которых я хочу активировать сеансы: «/ kj% C3% B8p», «/ bibliotek»; и "/ зарегистрировать".
Я пробовал что-то вроде
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'));
});
но это восстанавливает объект сеанса для каждого из трех маршрутов и выглядит довольно грязно. Какие-нибудь советы?