php artisan route:list 门错误
php artisan route:list error with gate
因此,我将 Gate facade 添加到我的 UserController 中的构造函数
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
运行 没问题。有人知道为什么会这样吗?以及如何解决?可以artisan绕过门立面吗?
我认为您想避免在控制器构造函数中进行这样的检查。 Laravel 文档展示了多种实现授权检查的方法,其中 none 在控制器构造函数中。
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
我使用了这个命令
public function __construct()
{
// check if request not from cli
if ('cli' != php_sapi_name()) {
$this->authorize('is_admin');
}
}
因此,我将 Gate facade 添加到我的 UserController 中的构造函数
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
运行 没问题。有人知道为什么会这样吗?以及如何解决?可以artisan绕过门立面吗?
我认为您想避免在控制器构造函数中进行这样的检查。 Laravel 文档展示了多种实现授权检查的方法,其中 none 在控制器构造函数中。
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
我使用了这个命令
public function __construct()
{
// check if request not from cli
if ('cli' != php_sapi_name()) {
$this->authorize('is_admin');
}
}