如何在laravel中打开过滤器?

时间:2014-05-09 06:58:09

标签: php laravel laravel-4

开始学习Laravel并遇到过滤器问题...如何打开auth过滤器?我编写了以下代码,但它不起作用:

Route::filter('auth', function() {
    if (Auth::guest()) {
        Session::put('redirect_after_login', Request::url());
        return Redirect::to('user/login/');
    }
});

Route::filter('guest', function() {

    if (Auth::check()) return Redirect::to('/login');
});

基本上Route::filter('guest'不起作用

2 个答案:

答案 0 :(得分:4)

您可以通过将过滤器添加到路径或路由组'之前'属性来“打开”过滤器。即:

Route::group(array(
        'before' => 'auth'
    ), function(){

        Route::get('', array(
            'as'   => 'admin.dashboard',
            'uses' => 'DashboardController@getIndex'
        ));

        Route::post('page/contenttype/present', array(
            'uses' => 'PageController@contenttypeDataPresenter',
            'as'   => 'admin.page.contenttypedatapresenter'
        ));
});

您所做的是定义过滤器。您现在只需将其附加到路线上。

请参阅此部分:http://laravel.com/docs/routing#route-filters

答案 1 :(得分:0)