我希望路由在成功登录后绕过身份验证过滤器。所以我使用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');
});
我的路线
如果我将主资源路由放在没有auth
过滤器的情况下,那么它将起作用。 (不重定向到登录路由。)。该代码在下面给出
Route::resource('home', 'HomeController');
Route::group(array('before' => 'auth'), function() {
Route::get('/', 'HomeController');
}); /* No Problem with this code */
但我想使用auth
过滤器。我正在使用laravel 4。
请帮帮我......
答案 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'));
});