Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 11.05.2017 02:57:07

Доступ к папке авторизованным пользователям

В storage лежат папки с мини-сайтами (каждый имеет подпапки с картинками, стилями, sfw и проч). Как их сделать доступными только авторизованным пользователям? Другими словами, я могу отдать из этой папки index.html, а файлы, которые в нем как ссылки не отдаются. Структура мини-сайта заранее неизвестна.

Изменено fivan (11.05.2017 03:02:55)

Не в сети

#2 11.05.2017 06:36:14

Re: Доступ к папке авторизованным пользователям

Папки в storage напрямую из веба недоступны.

Там есть папка app/public — она будет доступна только если сделать симлинк.

Поэтому не понятно как ты отдаешь из подпапок в storage index.htm. Для начала опиши как ты это делаешь.

Не в сети

#3 11.05.2017 06:58:55

Re: Доступ к папке авторизованным пользователям

Делал в контроллере через response()->download().

Вот тут есть решение для одного уровня вложения https://laravel.io/forum/04-23-2015-sec … ilesimages.

А у меня изначально не известно сколько папок и как будут вложены.

Не в сети

#4 11.05.2017 07:10:50

Re: Доступ к папке авторизованным пользователям

Тебе надо сперва записывать содержимое index.html в переменную. Потом парсить каким-то образом html в ней (через regexp, Symfony DomCrawler Component и прочее), и менять ссылки на картинки, стили, файлы по такой же схеме (с учетом папок). Разумеется метод getFile надо будет доработать.

Не в сети

#5 11.05.2017 07:14:59

Re: Доступ к папке авторизованным пользователям

Такое решение мне не подходит, потому что внутри есть скрипты, которые загружают файлы по мере необходимости

Не в сети

#6 11.05.2017 07:16:08

Re: Доступ к папке авторизованным пользователям

Тогда думай над другой схемой.

Не в сети

Подвал раздела