Кто-нибудь знает, как использовать охрану в методе redirectTo()
в Authenticate middleware в laravel 5.8.15 (или просто 5.8)?
Я получаю эту ошибку
"ОбъявлениеApp \ Http \ Middleware \ Authenticate :: redirectTo ($ request, $ guards) должен быть совместим с Illuminate \ Auth \ Middleware \ Authenticate :: redirectTo ($ request) "
use Illuminate\Support\Facades\Route;
protected function redirectTo($request, $guards)
{
if (! $request->expectsJson()) {
if (array_first($this->guards) === 'admin') {
return route('admin.login');
}
return route('login');
}
}
//Updated code but still getting error
//Error:: Declaration of App\Http\Middleware\Authenticate::handle($request,
Closure $next, $guard = NULL) should be compatible with
Illuminate\Auth\Middleware\Authenticate::handle($request, Closure $next,
...$guards)
//Code
....
use Closure;
use Illuminate\Support\Facades\Auth;
....
public function handle($request, Closure $next, $guard = null)
{
switch ($guard) {
case 'admin':
if (Auth::guard($guard)->check()) {
return redirect()->route('admin.login');
}
break;
default:
if (Auth::guard($guard)->check()) {
return redirect('/login');
}
break;
}
return $next($request);
}