Laravel 登录后连接过多时出错
最近,我在laravel 5.4上创建了一个应用程序,与我通常部署的应用程序相比,唯一的区别是我用5.4版制作了一个应用程序。 但是有些地方出了问题,在我登录并重定向到管理仪表板后,我得到了一个错误“错误的连接太多”,我不能找出我做错了什么?这完全是正常的,我一直都是这样 注意:此错误仅在线出现,在我的本地主机中工作正常 这是我的routes.phpLaravel 登录后连接过多时出错,laravel,laravel-5,laravel-5.3,laravel-5.4,Laravel,Laravel 5,Laravel 5.3,Laravel 5.4,最近,我在laravel 5.4上创建了一个应用程序,与我通常部署的应用程序相比,唯一的区别是我用5.4版制作了一个应用程序。 但是有些地方出了问题,在我登录并重定向到管理仪表板后,我得到了一个错误“错误的连接太多”,我不能找出我做错了什么?这完全是正常的,我一直都是这样 注意:此错误仅在线出现,在我的本地主机中工作正常 这是我的routes.php <?php /* |-----------------------------------------------------------
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
//Route::get('/', 'PagesController@home');
Route::get('/', function () {
return view('welcome');
});
Route::get('admin/', 'Auth\LoginController@showLoginForm');
Route::post('admin/', 'Auth\LoginController@login');
Route::post('admin/logout', 'Auth\LoginController@logout');
/************** ADMIN AREA ********************/
Route::group(['middleware' => ['auth', 'admin']], function() {
Route::get('admin/dashboard', 'PagesController@dashboard');
//Surveys
Route::get('admin/surveys/', 'SurveyController@index');
Route::get('admin/surveys/create', 'SurveyController@create');
Route::post('admin/surveys', 'SurveyController@store');
Route::get('admin/surveys/{id}/edit', 'SurveyController@edit');
Route::put('admin/surveys/{id}', 'SurveyController@update');
Route::delete('admin/surveys/{id}', 'SurveyController@destroy');
Route::get('admin/surveys/{id}/{email}/show', 'SurveyController@show');
Route::get('admin/surveys/{id}/results', 'SurveyController@results');
//Questions
Route::get('admin/questions/', 'QuestionController@index');
Route::get('admin/questions/create', 'QuestionController@create');
Route::post('admin/questions', 'QuestionController@store');
Route::get('admin/questions/{id}/edit', 'QuestionController@edit');
Route::put('admin/questions/{id}', 'QuestionController@update');
Route::delete('admin/questions/{id}', 'QuestionController@destroy');
//Answers
Route::post('admin/answers', 'AnswerController@store');
Route::get('admin/answers', 'AnswerController@index');
//Statistics
Route::get('admin/statistics','StatisticController@index');
//Questions Options
Route::get('admin/optionsquestions/', 'QuestionOptionController@index');
Route::get('admin/optionsquestions/create', 'QuestionOptionController@create');
Route::post('admin/optionsquestions', 'QuestionOptionController@store');
Route::get('admin/optionsquestions/{id}/edit', 'QuestionOptionController@edit');
Route::put('admin/optionsquestions/{id}', 'QuestionOptionController@update');
Route::delete('admin/optionsquestions/{id}', 'QuestionOptionController@destroy');
// Settings
Route::get('admin/settings', 'SettingController@edit');
Route::put('admin/settings/update', 'SettingController@update');
});
//Survey Online
Route::get('surveys/{id}/show', 'SurveyController@showPublic');
太多重定向错误意味着您已使用中间件登录系统,中间件继续从一个路由重定向到另一个路由,所以浏览器抛出太多重定向错误。
您需要从任何一个路由中删除中间件,以便删除太多的重定向错误。太多重定向错误意味着您已将中间件用于登录系统,中间件继续从一个路由重定向到另一个路由,因此浏览器抛出太多重定向错误。
您需要从任何一个路由中删除中间件,以便删除过多的重定向错误。如果您使用的是mysql,并且用户已经被使用或类似的情况,请检查storage/logs中的日志文件以了解更多跟踪信息,请与主机系统联系。这就是为什么它只发生在生产中。我打赌你是在共享主机上。可能资源有限。是的,我在共享主机上。如果您使用的是mysql,而用户已经在使用或类似的东西,请查看存储/日志中的日志文件以了解更多跟踪信息,请与主机系统联系。这就是为什么它只发生在生产中。我打赌你是在共享主机上。也许资源有限。是的,我在一个共享主机上。但是我的路由有什么问题,这看起来很正常,我相信它是如何运行中间件的。问题似乎就在这里:路由::组(['middleware'=>['auth','admin']],…在我删除“admin”之后。它已经可以工作了,但为什么?在登录注销系统中,您使用中间件。您将该中间件放在一些路由组中。现在,如果您访问路由组中的任何路由,它将进入中间件并检查验证。在您的情况下,您可能会将中间件验证失败路由放在路由组中。我认为您有您的管理中间件有问题。但是我的路由有什么问题,看起来很正常,我相信它是如何运行中间件的。看起来问题就在这里:路由::组(['middleware'=>['auth','admin']],…在我删除“admin”之后。它已经可以工作了,但为什么?在登录注销系统中,您使用中间件。您将该中间件放在一些路由组中。现在,如果您访问路由组中的任何路由,它将进入中间件并检查验证。在您的情况下,您可能会将中间件验证失败路由放在路由组中。我认为您有管理中间件有问题。
public function handle($request, Closure $next)
{
if(auth()->check() && auth()->user()->account_type_id == 1){
return $next($request);
}
return redirect('/admin');
}