2015-03-23 6 views
0

У меня странная ситуация, когда мой auth-фильтр игнорируется на моем сервере предварительной подготовки, но не на живой и локальной машине для усадьбы.Laravel auth фильтр не работает на одном сервере

Для отладки я полностью редуцирован мои два файла с абсолютным минимальной

моего не столь эффектного routes.php

Route::get("/foo",['before'=>'foo',function(){return 'bar';}]); 

здесь, в моих filters.php Вуду происходит

//die('if I uncomment this, causes the app to end here both live and local'); 
Route::filter("foo",function($a,$b,$c){die("this is ignored on live but not on local");}); 

Идет к /foo показывает бар, я ожидал, что фильтр будет применен и стоп бар от появления

Я совершенно запутался, причиной этой проблемы, в основном сейчас любой желающий может получить доступ ко всем страницам, даже если не вошли в систему.

Что я должен проверить здесь?

То, что я пытался

  • php artisan cache:clear
  • php artisan dump-autoload
  • php artisan clear-compiled
  • grep --include=\*.php -rnw . -e "filters.php" который вернулся ./app/start/global.php:97:require app_path() . "/filters.php";
+0

Laravel имеет редуктор фильтра. Проверьте настройку среды – Robin

ответ

0

несчастливо мой предсерийный сервер был среда установлен в testing

Laravel имеет проверку среды от среды тестирования именованных https://github.com/laravel/framework/blob/4.2/src/Illuminate/Routing/RoutingServiceProvider.php#L32

if ($app['env'] == 'testing') 
{ 
$router->disableFilters(); 
} 

я переименовал среду для PreProduction, чтобы решить проблему.

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