2015-06-30 2 views
0

Я пытаюсь защитить общую папку моего проекта Symfony 2.7 с некоторыми активами (файлы в формате pdf и т. Д.), Так что только пользователь может войти в систему.Защищенная папка Symfony с активами

Представьте структуру папок:

-- web 
    | -- uploads 
      | -- public 
      | -- secured 

Я хочу всем (даже анонимные пользователи) охватить все файлы в папке web/uploads/public но иметь доступ только для зарегистрированных пользователей к файлам в папке web/uploads/secured.

Я уже пытался создать security.yml с этим правилом в access_control:

- { path: ^/uploads/secured, role: ROLE_USER } 

Но это работает только для маршрутов, но не для файлов в моей общей папке.

Возможно ли это? Или мне нужно создать какой-то контроллер, который будет переписывать маршруты для моих файлов и дополнительно проверять, предоставлен ли пользователю просмотр файлов?

+0

Учебник, который вы опубликовали, чрезвычайно устарел - почти 6 лет. Он использует контроллер для управления файлами, но я ищу более простое решение, если оно существует. Спасибо за помощь. – Cockootec

ответ

2

Symfony (или любой другой скрипт PHP) не вызывается при просмотре статических файлов. Он вызывается только при ударе вашего фронтального контроллера (app.php).

Либо используйте ваш веб-сервер для обеспечения доступа к активам, либо помещайте их за пределы общего каталога и используйте контроллер для их обслуживания.

Смежные вопросы