Вопрос laravel 10 не работает redirect при использовании middleware?
Добрый день подскажите пожалуйста, выдает ошибку при redirect с использованием middleware. Ошибка: ERR_TOO_MANY_REDIRECTS Сайт localhost выполнил переадресацию слишком много раз. Что поправить надо??
Код midlleware
public function handle(Request $request, Closure $next): Response
{
if(auth()->user()->role !== 'admin') {
return redirect()->route('home');
}
return $next($request);
}
Код роутов web.php
Route::get('/', 'App\Http\Controllers\HomeController@index');
Route::get('/my_page', 'App\Http\Controllers\MyFirstController@index');
Route::get('/about', 'App\Http\Controllers\MyAboutController@index')->name('about.index');
Route::get('/contacts', 'App\Http\Controllers\MyContactsController@index')->name('contact.index');
Route::get('/main', 'App\Http\Controllers\MyMainController@index')->name('main.index');
Route::group(['namespace' => 'App\Http\Controllers\Post'], function () {
Route::get('/posts', 'IndexController')->name('post.index');
Route::get('/posts/create', 'CreateController')->name('post.create');
Route::get('/posts/{post}', 'ShowController')->name('post.show');
Route::post('/posts/create', 'StoreController')->name('post.store');
Route::get('/posts/{post}/edit', 'EditController')->name('post.edit');
Route::patch('/posts/{post}', 'UpdateController')->name('post.update');
Route::delete('/posts/{post}', 'DestroyController')->name('post.delete');
});
Route::group(['namespace' => 'App\Http\Controllers\Admin', 'prefix' =>'admin', 'middleware'=>'admin'], function () {
Route::group(['namespace' => 'Post'], function () {
Route::get('post', 'IndexController')->name('admin.post.index');
});
});
require __DIR__.'/auth.php';
\Auth::routes();
Route::get('/home', [HomeController::class, 'index'])->name('home');
Источник: Stack Overflow на русском