Intereting Posts
PHP-массив из файла cookie: отображается только после обновления страницы? Как динамически генерировать ключ клиента openvpn с помощью php и передавать переменные команде shell? Какая правильная длина случайного кода используется как атрибут select / join mysql MySQL PDO, как связать параметры для IN () перемещение количества именованных элементов из одного массива в другой PHP MySQL устанавливает время ожидания подключения Проверьте подпись SHA1withRSA, сгенерированную на Java (Android), с помощью phpseclib Отображать данные BLOB PHP? codeigniter: передавать данные в представление, включенное в представление Как получить последнюю запись в таблице базы данных MySQL с помощью PHP? Разбор HTML-таблиц через DOM Использование арабских символов ctype_alnum Как включить функции WordPress в пользовательский .php-файл? Как выводить результаты запроса MySQL, в котором используются псевдонимы? PHP: file_get_contents ($ loc) не работает

symfony2 доступ к приватным файлам в качестве администратора

В моем проекте Symfony2.3 у меня есть интерфейс и бэкэнд. Бэкэнд защищен файлом security.yml, и только пользователь role_admin может получить доступ к бэкэнд.

Хотелось бы, чтобы я теперь только администраторы могут загружать файлы PDF-файлов в активы.

Есть ли способ сделать это ?

теперь все посетители могут получить доступ к моим файлам pdfs по ссылке url.

Мне нужно переместить этот pdf в другую папку? или использовать htaccess возможно?

Вам необходимо сохранить эти файлы в месте, которое напрямую не доступно через ваш веб-сервер. (т. е. не в web папке или в одной из ее подпапок)

Затем создайте контроллер / действие, проверяющее разрешение на загрузку (то есть определенную роль пользователя) перед тем, как обслуживать файл.

Прочтите раздел документации « Служебные файлы» для быстрого обзора того, как вы можете обслуживать файлы в symfony2.

Добавьте роль, например ROLE_ACCESS_PRIVATE ASSETS, и назначьте ее пользователю admin. Сделайте проверку этого разрешения в коде, как и любой другой.

Edit: Это предполагает, конечно, что контроллер стоит на пути этих файлов.