覆盖laravel forbiddenResponse()方法

时间:2016-05-31 14:53:20

标签: php validation laravel-5.2 http-status-code-403

所以,我想在触发一个页面时返回我自己的403页面。

似乎处理它的方法在vendor/laravel/framework/source/Illuminate/Foundation/Http/FormRequest.php

我如何覆盖forbiddenResponse()方法?

   /**
     * Get the response for a forbidden operation.
     *
     * @return \Illuminate\Http\Response
     */
    public function forbiddenResponse()
    {
        return new Response('Forbidden', 403);
    }

我在laracasts社区读过the following。但没有人提到他们究竟是如何覆盖它的。如果这意味着我的更改在更新时丢失,我不想修补框架源。我该怎么做呢?

我建议的替换很简单,我会使用abort(403)和我自己的views/errors/403.blade.php,这似乎工作得很好。

public function forbiddenResponse()
{
    abort(403);
}

用户 bestmomo 表示覆盖failedAuthorization()更合乎逻辑。因此,请记住这一点,我该如何进行此更改?

0 个答案:

没有答案