【问题标题】:Laravel 4 Resource Routes and AuthenticationLaravel 4 资源路由和身份验证
【发布时间】:2014-02-04 11:20:33
【问题描述】:

我不确定我应该使用什么术语,所以请多多包涵,希望如果我说的不对,也许有人能挑出正确的问题!

好的..所以我有

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

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

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

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

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

非常感谢。

DS

【问题讨论】:

    标签: php laravel-4 laravel-routing


    【解决方案1】:

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

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

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

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

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

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

    【讨论】:

    • 完美。谢谢。我真的不明白你什么时候会使用。我是新手,所以也许我很快就会掌握它。与此同时,我将阅读更多材料。非常感谢。
    猜你喜欢
    • 2016-02-05
    • 1970-01-01
    • 2013-12-11
    • 2013-05-16
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    • 2013-09-09
    • 2016-04-06
    相关资源
    最近更新 更多