2013-05-31 3 views
0

У меня есть этот базовый код:Route :: когда() не работает с Laravel 4

Route::controller('admin', 'AdminController'); 
Route::when('admin/*', 'admin-auth'); 
Route::filter('admin-auth',function(){ 
if(!Auth::user()) 
     return Redirect::to('login'); 
}); 

Видимо, когда я запускаю мое приложение, Laravel 4 маршрутизации может не запустить проверку подлинности.

Кажется мне, что они переработали «образец» ловли, который был в Laravel 3 для Laravel 4.

+0

Является ли ваш фильтр в файле app/filters.php? –

+0

Какая ошибка вы получаете? – searsaw

ответ

0

Try называя свой маршрут, как это ..

Route::when('admin/*', ['before' => 'admin-auth', 'uses' => '[email protected]']); 

Это будет работать при выполнении маршрута: : get/post не обязательно об использовании когда .. просто fyi.

+1

Используйте [] для массива, если ваша версия php равна 5.4. Если не использовать Route :: when ('admin/*', array ('before' => 'admin-auth', 'uses' => 'adminController @ indexAction')); –

1

Try:

Route::when('admin*', 'admin-auth'); 

Вместо:

Route::when('admin/*', 'admin-auth'); 
0

Вы должны написать вам маршрут :: когда() фильтр в приложении/filters.php Просто переместите маршрут :: когда ('admin *', 'auth') в app/filters.php, и администратору пути потребуется логин

Предполагается, что простая функция входа в систему была тем, что вы искали, поэтому просто использовал laravel auth filter.

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