我创建了自定义请求类,在其中我禁止访问特定路由。假设我试图通过此请求类禁止删除某些自定义类别。一切正常,我被重定向到 403 页面。问题是,我如何自定义该重定向路径?
我查看了互联网并看到提到了forbiddenResponse() 方法,但我无法让它工作。
我正在使用 Laravel 5.7
我创建了自定义请求类,在其中我禁止访问特定路由。假设我试图通过此请求类禁止删除某些自定义类别。一切正常,我被重定向到 403 页面。问题是,我如何自定义该重定向路径?
我查看了互联网并看到提到了forbiddenResponse() 方法,但我无法让它工作。
我正在使用 Laravel 5.7
如果您使用命名路由,例如
Route::get("/user", "UserController@index")->name('user');
然后你可以这样做。
return redirect()->route('user');
我找到了一些关于这个的信息。自 Laravel 5.4 以来,forbiddenResponse功能已被删除。
Handler.php我已经设法通过更改文件夹中的文件来完成我所需要的App\Exceptions。在渲染功能中,我正在检查是否Exception是AuthorizationException在之后我重定向到另一个页面。
public function render($request, Exception $exception)
{
if ($exception instanceof \Illuminate\Auth\Access\AuthorizationException) {
return response()->redirectTo(route('categories.index'));
}
return parent::render($request, $exception);
}