php artisan route:列出门错误

时间:2016-02-26 02:01:46

标签: php laravel artisan

所以,我在我的UserController

中将Gate facade添加到我的构造函数中
public function __construct()
{
    if (Gate::denies('manage-user')) {
        abort(404);
    }
}

一切都按预期工作但有一件事,现在php artisan route:list显示以下错误

$ php artisan route:list

[Symfony\Component\HttpKernel\Exception\NotFoundHttpException]

如果我移除了门,php artisan route:list运行正常。任何人都知道为什么会这样吗?以及如何解决?工匠可以绕过门面吗?

2 个答案:

答案 0 :(得分:2)

我认为你想避免在控制器构造函数中做这样的检查。 Laravel文档显示了许多实现授权检查的方法,它们都不在控制器构造函数中。

https://laravel.com/docs/5.2/authorization#checking-abilities

我会亲自创建一个FormRequest,并使用授权方法进行检查。然后将FormRequest注入每个方法,并自动运行授权。

https://laravel.com/docs/5.2/authorization#within-form-requests

https://laravel.com/docs/5.2/validation#form-request-validation

答案 1 :(得分:-2)

我使用了这个命令

public function __construct()
{
    // check if request not from cli
    if ('cli' != php_sapi_name()) {
        $this->authorize('is_admin');
    }
}