1

私はLaravelの複数認証のデフォルト認証を使用しています。私は2種類のユーザー管理者と通常のユーザーを持っています。管理者のために私は管理者ガードを使用していますが、別のブラウザで2種類のユーザーとしてログインしても正常に動作しますが、ログアウト時に同じブラウザで管理者とユーザーの両方にログインしているときに問題が発生します私は管理者のログインページにリダイレクトしています。私は管理パネルから管理者のログインページにログアウトした場合はリダイレクトしたい、それ以外の場合はユーザーパネルからログアウトして、 '/'のルートにリダイレクトする必要があります。ここでは、ユーザーファイルを認証するログアウト方法のコードを示します。Laravel 5の複数の認証でログアウト

public function logout(Request $request) 
    { 
     if(Auth::guard('admin')->check()) $redirect = '/admin/login'; 
     else $redirect = '/'; 

     $this->guard()->logout(); 

     $request->session()->flush(); 

     $request->session()->regenerate(); 

     return redirect($redirect); 
    } 

ここには、管理者とユーザーの両方のログアウトフォームがあります。

<a href="{{ url('/logout') }}" onclick="event.preventDefault(); 
    document.getElementById('logout-form').submit();">Logout</a> 

これを解決する方法は?

答えて

0

私はあなたが&の管理者としてログアウトしたときに理解しているから、まだ/ルートに戻したいと思っています。私は、現在のユーザーが管理者で、デフォルトでユーザーを帰宅しているかどうかのチェックを外すことをお勧めします。

+0

実際にはそうではありません。私がadminからログアウトすると、adminのログインページにリダイレクトされます。ユーザーパネルからログアウトすると、私は '/'ルートにリダイレクトされます。 –

+0

if文の上に置くと 'dd(Auth :: guard( 'admin') - > check())'したときに何が得られますか? –

関連する問題