1

我不确定我应该使用的术语,所以请多多包涵,希望如果我没有做对,有人可能会挑出正确的问题!

好的..所以我有

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

这可以。正如您所期望的那样,有用于创建、编辑、索引和显示的视图,它们都可以正常工作。我想做的只是在用户登录时才允许访问“创建”部分。

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

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

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

非常感谢。

DS

4

1 回答 1

1

好吧,您不需要过滤器,但是您可以使用 Auth 检查方法来检查用户是否已登录:

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

在您的控制器方法中确保用户已登录,如果他不是,您可以执行重定向,例如:

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

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

public function __construct()
    {
        $this->beforeFilter('auth', array('on' => array('create')));
    }
于 2014-01-15T19:49:10.193 回答