Я работаю с апострофом 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')));
Но это тоже не сработало. У кого-нибудь есть идеи или точно знаете, как это сделать? Спасибо.