Мне удалось выделить проблему, которая у меня возникла с промежуточным ПО: после простого «если ...» в промежуточном ПО я пытаюсь перенаправить именованный маршрут в функцию контроллера. Мой браузер говорит мне "... страница перенаправлена неправильно" (или что-то в этом роде), когда в файле ядра. php, раздел "protected $ middlewareGroups" содержит следующее:
\App\Http\Middleware\RedirectAdmin::class,
Когда я его удаляю, промежуточное ПО просто не работает.
Раздел «Защищенные $ middlewareGroups» содержит:
'rediradmin' => \App\Http\Middleware\RedirectAdmin::class,
Маршрутизация в сети. php содержит следующие маршруты:
Route::get('adminclient', 'ClientsController@ClientsAdminList')->name('ClientsAdmin');
Route::resource('clients', 'ClientsController');
Здесь, под моим промежуточным программным обеспечением "RedirectAdmin":
namespace App\Http\Middleware;
use Illuminate\Support\Facades\Auth;
use Closure;
class RedirectAdmin
{
public function handle($request, Closure $next){
if (Auth::user() && Auth::user()->email == 'admin@admin.fr') {
return redirect()->route('ClientsAdmin');
}
return $next($request);
}
}
И функция "ClientsAdminList" в моем ClientsController:
public function ClientsAdminList(){
$clients = Client::with('entreprise')->paginate($this->NbrParPage);
return view('clients.index', compact('clients'));
}
(конструктор ClientsController содержит только " $ this-> промежуточного слоя ( 'Auth'); ")