У меня есть дерево Auth Guard (клиент, поставщик, администратор) и вот это RedirectIfAuthenticated.php
выглядит как
public function handle( $request, Closure $next, $guard = null ) {
switch ( $guard ) {
case 'supplier':
{
if ( Auth::guard( $guard )->check() ) {
return redirect()->route( 'supplier-dashboard' );
}
break;
}
case 'admin':
{
if ( Auth::guard( $guard )->check() ) {
return redirect()->route( 'admin-dashboard' );
}
break;
}
default :
{
if ( Auth::guard( $guard )->check() ) {
return redirect( '/my-account' );
}
}
}
return $next( $request );
}
когда я захожу в систему как поставщик или администратор и пытаюсь перейти на страницу входа, это приводит меня вправо route
но приходит к клиенту, он берет меня на страницу входа, что здесь не так, поскольку я определил случай по умолчанию для перенаправления на /my-account
default :
{
if ( Auth::guard( $guard )->check() ) {
return redirect( '/my-account' );
}
}
Что мне здесь не хватает?
Решение
Как подсказывает @BilalAhmed, я отлаживал возвращение ( Auth::guard( $guard )->check() )
, и результат был false
, затем я пытаюсь ( Auth::guard( 'web' )->check() )
, и это работало нормально для меня.