0

Кажется, я не могу просто переопределить маршрутизацию Laravel при попытке защитить паролем подпапку во взглядах с помощью htaccess. Я поместил его и файл .htpasswd в папку, в которой я хотел создать аутентификацию, но без эффекта.
Причина этого заключается в том, что я хочу иметь только папки «клиентские глаза» для работы над проектами, например. "Example.com/clients/my-client/". Эти папки будут содержать только статический контент.Защита паролем вложенной папки Laravel с htaccess

Я попытался добавить дерево папок публично, но это, похоже, не работает (думаю, публичный контент должен быть объявлен, чтобы избежать маршрутизации?). Я бы предпочел использовать эти клиентские страницы как виды.
Идеи? Запуск Laravel 4.2 на Apache.

+0

Это совсем не работает. Если вы хотите заблокировать доступ, используйте класс Auth – Laurence

+0

Невозможно переопределить маршрутизацию в представлениях? Я предполагаю, что могу использовать класс Auth, но это потребует от меня подключения базы данных, не так ли? –

+1

Вы можете использовать Auth без подключения к базе данных, но вам придется написать [ваш собственный поставщик Auth] (http://laravel.com/docs/4.2/extending#authentication), который будет просто искать файл или конфигурацию массив. Или, если вы не используете базу данных в другом месте на сайте (и, следовательно, не хотите подключаться к ней), вы можете использовать драйвер базы данных SQLite, который хранит базу данных в легкодоступном файле. – alexrussell

ответ

2

Из-за того, как Laravel делает маршрутизацию, все URI являются фактически виртуальными URI, поэтому вы не можете помещать файлы .htaccess в любые каталоги, так как их на самом деле нет.

Тем не менее, вы можете использовать систему Autar Laravel для защиты ваших маршрутов (используя базовую авторизацию или более традиционную систему входа в систему).

Если вы не хотите, чтобы подключить Laravel до базы данных только для защиты некоторых каталогов есть несколько решений:

  • Вы можете написать your own Auth provider, что будет просто найти сведения о детали в file или config array. Это не очень сложно сделать, хотя это может показаться чуть более вершиной только для ваших целей.

  • Вы можете использовать драйвер базы данных SQLite, который хранит базу данных в легкодоступном файле (в app/database/), поэтому база данных, по крайней мере, хранится рядом с вашим кодом.

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