По умолчанию symfony загружает файл в папку web / upload, поэтому они доступны для всех. Мне нужно проверить учетные данные пользователя для каждого запроса в файл. Как мне это сделать?
Переместите свои загрузки за пределы вашего веб-сайта, например, в / data / uploads. В этом случае вам нужно поместить это в файл ProjectConfiguration:
sfConfig::set('sf_upload_dir' => sfConfig::get("sf_data_dir") . DIRECTORY_SEPARATOR . 'uploads');
Если вы всегда использовали sf_upload_dir для указания папки uploads, все ваши файлы будут там сохранены.
Вторая часть решения требует нового действия, которое получает имя файла, проверяет, имеет ли пользователь доступ к нему, и возвращает:
readfile()
, после установки правильных заголовков Content-Type и Content-Lenght.