Апостроф CMS - защита статического контента - PullRequest
0 голосов
/ 02 июля 2018

Я работаю с апострофом CMS прямо сейчас и поставил все приложение за SAML IDP, используя Apostrophe-Saml. однако я заметил, что файлы, которые пользователи загружают, помещаются в «публичный» каталог и могут быть просмотрены без входа в систему. Есть ли способ защитить загруженные изображения / видео / файлы за аутентификацией?

Модуль апостроф-экспресс имеет опцию промежуточного программного обеспечения, но она не используется при доступе к статическому контенту.

Моя следующая попытка была переопределить метод апострофных активов

self.servePublicAssets = function() {
  var middleware = [];
  if (self.lessMiddleware) {
    // bc: only if the new implementation of enableLessMiddleware is in place.
    // If it's an old override, it'll already be added to Express and
    // this property won't be set
    middleware.push(self.lessMiddleware);
  }


  //THIS NEXT LINE IS THE LINE OF INTEREST
  middleware.push(self.apos.express.static(self.apos.rootDir + '/public'));
  //SEE THE LINE ABOVE


  self.expressMiddleware = {
    // Run really early, before all of the stuff apostrophe-express normally
    // puts in, for performance reasons. Preempts expensive
    // queries related to `apostrophe-global` on every static file
    when: 'beforeRequired',
    middleware: middleware
  };
};

Я, по сути, попытался обменять «линию интересов» на что-то похожее на это:

middleware.push(self.apos.app.use(self.apos.rootDir + '/public', authMethod(), self.apos.express.static(self.apos.rootDir + '/public')));

Но это тоже не сработало. У кого-нибудь есть идеи или точно знаете, как это сделать? Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...