如何在laravel中使用Redirect ::

时间:2014-02-03 09:04:10

标签: php laravel laravel-4

我希望路由在成功登录后绕过身份验证过滤器。所以我使用Redirect::intended。但这会产生问题。这是我的代码

在LoginController @ doLogin

if (Auth::attempt($credentials)) {   
 return Redirect::intended("home.index");
}

在路线

Route::group(array('before' => 'auth'), function() {
        Route::resource('home', 'HomeController');
        Route::get('/', 'HomeController');
});

我的路线 my routes image

如果我将主资源路由放在没有auth过滤器的情况下,那么它将起作用。 (不重定向到登录路由。)。该代码在下面给出

Route::resource('home', 'HomeController');
Route::group(array('before' => 'auth'), function() {
    Route::get('/', 'HomeController');
}); /* No Problem with this code */

但我想使用auth过滤器。我正在使用laravel 4。 请帮帮我......

1 个答案:

答案 0 :(得分:1)

目前我用这个:

在filter.php中

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

    if (!Sentry::check())
    {
            return Redirect::route('authLogin');
    }
});

所以在route.php中

Route::get('auth/login/', array('as' => 'authLogin', 'uses' => 'AuthController@login'));
Route::post('auth/login/', array('as' => 'authLogin', 'uses' => 'AuthController@login'));

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

    Route::get('user/', array('as' => 'user', 'uses' => 'UserController@index'));
    Route::get('user/index', array('as' => 'userIndex', 'uses' => 'UserController@index'));
});

I preffer named routes.