[英]Laravel route is redirecting too many times
我正在為項目使用Laravel 5.4,方案是如果user
沒有創建任何clubs
,則在登錄時將user
重定向到clubs/create
頁面。
以下是我的路線頁面編碼
目錄結構是routes/backend/access.php
Route::group([
'prefix' => 'access',
'as' => 'access.',
'namespace' => 'Access',
], function () {
Route::group([
'middleware' => ['access.routeNeedsRole:3', 'first.run']
], function () {
/*
* Clubs Management
*/
Route::group(['namespace' => 'Clubs'], function () {
Route::get('create', 'ClubsController@showCreateOrganiser')->name('clubs.showCreateOrganiser');
/*
* Specific Club
*/
Route::group(['prefix' => 'clubs/{club}'], function () {
// Access
Route::get('login-as', 'ClubsController@loginAs')->name('clubs.login-as');
});
//For when admin is logged in as user from backend
Route::get('logout-as', 'ClubsController@logoutAs')->name('clubs.logout-as');
/*Clubs CRUD*/
Route::resource('clubs', 'ClubsController');
//For DataTables
Route::post('clubs/get', 'ClubsTableController')->name('clubs.get');
});
});
});
下面是我的FirstRunMiddleware.php
代碼
Class FirstRunMiddleware
{
public function handle($request, Closure $next)
{
if (Clubs::scope()->count() === 0) {
return redirect()->route('admin.access.clubs.showCreateOrganiser');
}
$response = $next($request);
return $response;
}
}
它重定向了太多次,並且我收到了錯誤消息,該錯誤消息redirected you too many times
。
我在這里做錯什么了?
這是因為當重定向到創建頁面時,中間件將再次運行! 它將檢查俱樂部並再次將您重定向到同一頁面,依此類推。
您需要使創建FirstRunMiddleware
范圍內。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.