1

Ich verwende Laravel die Standardauthentifizierung für mehrere Authentifizierung. Ich habe zwei Arten von Benutzer admin und normalen Benutzer. Für Admins habe ich admin guard verwendet, es funktioniert gut, wenn ich als 2 Arten von Benutzern in verschiedenen Browsern angemeldet bin, aber das Problem ist, wenn ich sowohl als Administrator und Benutzer im selben Browser zum Zeitpunkt der Abmeldung angemeldet sind leitet mich auf die Admin-Login-Seite um. Ich möchte umgeleitet werden, wenn ich mich vom Admin-Panel abmelden würde, dann zur Admin-Login-Seite. Wenn ich mich vom Benutzer-Panel abmelde, sollte es mich auf die '/' Route umleiten. Hier ist mein Code der Abmelde-Methode in authentifiziert Benutzerdatei.Abmelden in mehreren Auth in 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); 
    } 

Hier ist das Logout-Formular in beiden Seiten Admin und Benutzer.

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

jetzt, wie man das löst?

Antwort

0

Hmm von dem, was ich verstehe, wenn Sie als Administrator abmelden & Benutzer möchten Sie immer noch an die Route / gesendet werden. Ich würde vorschlagen, dass Sie den Check einfach entfernen, wenn der aktuelle Benutzer ein Administrator ist und den Benutzer standardmäßig zurück nach Hause schickt.

+0

eigentlich nicht das. Wenn ich mich vom Admin abmelde, sollte es mich zur Admin-Login-Seite weiterleiten. Wenn ich mich aus dem Benutzer-Panel abmelde, sollte es mich auf die '/' Route umleiten. –

+0

Was bekommen Sie, wenn Sie 'dd (Auth :: guard ('admin') -> check())' wenn Sie es über Ihre if-Anweisung setzen. –