2014-01-15 90 views
1

我不确定我应该使用的术语,所以请耐心等待,希望如果我没有这个权利,有人可能会挑逗出正确的问题!Laravel 4资源路径和身份验证

确定..所以我有

Route::resource('gameworlds', 'GameworldsController'); 

,这是好的。可以按照您的预期创建,编辑,编制索引和显示,并且它们都可以正常工作。我想这样做是只允许访问“创造”的一部分,当用户登录

例如..我有我的routes.php文件文件另一条路线:

Route::get('dashboard', array('before' => 'auth', function() 
    return View::make('dashboard/index'); 
})); 

这按预期工作,但我并不真正了解如何将类似的代码放在资源路径中,仅用于“创建”部分。有人可以向我解释那部分吗?

非常感谢。

DS

回答

1

那么你并不需要一个过滤器,而是可以使用验证检查的方法来检查,如果用户登录或不:

if (Auth::check()) { //Logged in } 

在你的控制器的方法,使确保用户登录,如果他不是你可以做一个重定向,如:

return Redirect::to('user/login'); 

但是,如果你想使用的过滤器,你可以在的__construct使用beforeFilter方法你控制器如下:

public function __construct() 
    { 
     $this->beforeFilter('auth', array('on' => array('create'))); 
    } 
+0

完美。谢谢。我真的不明白你会使用的时间。我是一个新手,所以我很快就能掌握它。在此期间,我将阅读更多的材料。非常感谢。 – dstewart101