Я ищу мертвое простое решение для защиты паролем (имя пользователя и пароль хранятся в виде пары ключ-значение в массиве) для домена (example.com/demo). Я знаю, что это плохая практика на производстве, но это просто быстрая демонстрация для кого-то. Код, который у меня есть на данный момент, довольно тривиален:
Route::group(['prefix' => 'demo', 'before' => 'auth.basic'], function() {...});
Должен ли я создать свой собственный фильтр? Как бы я установить его так, чтобы фильтр работал только в производстве?
Это так просто, как получается:
Route::filter('auth.verybasic', function()
{
if(Request::getUser() != 'foo' || Request::getPassword() != 'bar'){
$headers = array('WWW-Authenticate' => 'Basic');
return Response::make('Invalid credentials.', 401, $headers);
}
});
Что касается ограничения среды, просто проверьте с App::environment()
:
Route::filter('auth.verybasic', function()
{
if(App::environment() != 'production') return;
// check login (same as above)
});
Других решений пока нет …