我是Laravel(版本3)的新手,我不知道如何在Laravel中设置路由和过滤器,以便任何试图访问任何URL的未授权用户重定向到登录页面(不是404错误),换句话说,未授权用户的默认主页将成为登录页面,对于授权用户,它将成为仪表板。
答案 0 :(得分:3)
如果您使用的是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');
});
答案 1 :(得分:0)
只需在路径声明中添加一个前置过滤器,就像这样
Route::get('edit_profile', array('before' => 'auth', function()
{
return View::make('profile.edit');
}));
默认情况下,Laravel中存在Auth过滤器。