gpt4 book ai didi

laravel-5.6 - 该页面未正确重定向 Laravel 5.6

转载 作者:行者123 更新时间:2023-12-03 23:15:37 24 4
gpt4 key购买 nike

kernel.php


    protected $routeMiddleware = [
'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'adminauth' => \App\Http\Middleware\AdminAuth::class,
];

web.php


Route::group(['middleware' => 'adminauth'], function() {

//route for admin dashboard
Route::get('/admin', [
'uses' => 'AdminController@dashboard',
'as' => 'dashboard'
]);

//route for admin setting
Route::get('/admin/setting', [
'uses' => 'AdminController@setting'
]);
});

AdminAuth.php


public function handle($request, Closure $next)
{

return redirect('/admin/setting');
//return $next($request);
}

AdminController.php


public function setting() {
$admin = $this->admin;
$notification = $this->notification;

return view('admin/setting')->with(compact(
'admin',
'notification'
));
}

我正面临这个问题,即 页面没有正确重定向
Firefox 检测到服务器正在以永远不会完成的方式重定向对该地址的请求。
此问题有时可能是由于禁用或拒绝接受 cookie 造成的。


我读了这些帖子 link1 , link2 , link3但没有什么能解决我的问题。

最佳答案

问题是你的 admin/setting路由使用 adminauth中间件,但是您的 adminauth中间件将重定向到 admin/setting如果没有通过。

只是一个信息性说明:

重定向响应是代码在 300-399 之间的响应,这些响应被发送到浏览器,告诉浏览器下一步要做什么。默认情况下,浏览器将遵循重定向并创建对所述位置的新请求。

在您的情况下,浏览器会向 admin/setting 创建一个请求。中间件失败并告诉浏览器重定向到 admin/setting这将再次做完全相同的事情。像 Firefox 这样的浏览器有一个内置的机制来检测这个,而不是用请求淹没你的服务器,只会停止这个循环并让用户知道有问题。

要解决此问题,您需要重定向到其他地方或排除 /admin/setting来自 adminauth中间件。

解决方案将取决于您的应用程序。

关于为什么 Firefox 正确选择停止重定向的更多细节:

根据 section 9.1.2 of the HTTP/1.1 protocol GET 请求是幂等的,即

the side-effects of N > 0 identical requests is the same as for a single request



这是浏览器用来声明的假设,因为对 X 的请求会导致重定向到同一个 X,那么这是一个无限重定向,应该停止。

关于laravel-5.6 - 该页面未正确重定向 Laravel 5.6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51497936/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com