我在Laravel 4项目中创建了一个授权系统.我正在尝试使用auth"之前"过滤器.
在我的routes.php档案中,我有:
Route::get('viewer', array('before' => 'auth', function() {
return View::make('lead_viewer');
}));
Route::get('login', 'LoginController');
Run Code Online (Sandbox Code Playgroud)
before过滤器在filters.php文件中调用此行:
Route::filter('auth', function()
{
if (Auth::guest()) return Redirect::route('login');
});
Run Code Online (Sandbox Code Playgroud)
我可以手动导航到我的登录路线.但是auth系统并没有让这种情况发生.我跑composer dump-autoload了几次,所以这不是问题.我在做什么,因为如果我手动执行,我实际上可以加载登录页面?
我明白了.Laravel正在寻找一条命名路线:我必须这样做:
Route::get('login', array('as' => 'login', function() {
return View::make('login');
}));
Run Code Online (Sandbox Code Playgroud)
Laravel中一种有趣但不是非常直观的方法.但是,泰勒必须有这样的理由,我没有看到.
| 归档时间: |
|
| 查看次数: |
5477 次 |
| 最近记录: |