В моем проекте Symfony2.3 у меня есть интерфейс и бэкэнд. Бэкэнд защищен файлом security.yml, и только пользователь role_admin может получить доступ к бэкэнд.
Хотелось бы, чтобы я теперь только администраторы могут загружать файлы PDF-файлов в активы.
Есть ли способ сделать это ?
теперь все посетители могут получить доступ к моим файлам pdfs по ссылке url.
Мне нужно переместить этот pdf в другую папку? или использовать htaccess возможно?
Вам необходимо сохранить эти файлы в месте, которое напрямую не доступно через ваш веб-сервер. (т. е. не в web
папке или в одной из ее подпапок)
Затем создайте контроллер / действие, проверяющее разрешение на загрузку (то есть определенную роль пользователя) перед тем, как обслуживать файл.
Прочтите раздел документации « Служебные файлы» для быстрого обзора того, как вы можете обслуживать файлы в symfony2.
Добавьте роль, например ROLE_ACCESS_PRIVATE ASSETS, и назначьте ее пользователю admin. Сделайте проверку этого разрешения в коде, как и любой другой.
Edit: Это предполагает, конечно, что контроллер стоит на пути этих файлов.