Php 如何将未经授权的用户重定向到Laravel中的登录页面?

Php 如何将未经授权的用户重定向到Laravel中的登录页面?,php,laravel,laravel-3,Php,Laravel,Laravel 3,我是Laravel(版本3)的新手,我不知道如何在Laravel中设置路由和过滤器,以便任何试图访问任何url的未经授权用户重定向到登录页面(而不是404错误),换句话说,未授权用户的默认主页将是登录页面,授权用户的默认主页将是仪表板。如果您使用的是laravel Auth类,则可以创建授权路由组。如果用户未登录,则在此处定义的所有路由都将被重定向。您的路由器文件将如下所示: Route::get('/', array('as' => 'intro', 'uses' => 'intr

我是Laravel(版本3)的新手,我不知道如何在Laravel中设置路由和过滤器,以便任何试图访问任何url的未经授权用户重定向到登录页面(而不是404错误),换句话说,未授权用户的默认主页将是登录页面,授权用户的默认主页将是仪表板。

如果您使用的是laravel Auth类,则可以创建授权路由组。如果用户未登录,则在此处定义的所有路由都将被重定向。您的路由器文件将如下所示:

Route::get('/', array('as' => 'intro', 'uses' => 'intro@index'));
Route::get( 'login', array('as' => 'login', 'uses' => 'user@login'));
Route::get( 'logout', array('as' => 'logout', 'uses' => 'user@logout'));

// PROTECTED
Route::group(array('before' => 'auth'), function()
{
   Route::get('dashboard', array('as' => 'dashboard', 'uses' => 'user@dashboard'));
});

// AUTH FILTER
Route::filter('auth', function()
{
    if (Auth::guest()) return Redirect::to('login');
});

只需在路由声明中添加一个before筛选器,如下所示

Route::get('edit_profile', array('before' => 'auth', function()
{
    return View::make('profile.edit');
}));
默认情况下,Laravel中存在身份验证筛选器