2017-08-18 3 views
1

Ich habe adminlte auf Laravel installiert und es ist eingebaute Login-Funktionalität funktioniert gut. Ich habe zwei Rollen in der Benutzertabelle. Admin und Kunde. Der Administrator muss sich über den Admin-Panel-Bildschirm anmelden. Der Kunde muss sich über die Frontend-Website über den Anmeldebildschirm einloggen. Frage ist:Laravel Login und Logout mit zwei Rollen

Wenn ich Kunden über Front-End-Website anmelden, loggt es und ich umleiten ihn/sie auf eine Titelseite. Wenn ich den Admin-Panel-Anmeldebildschirm öffne, wird er zum Admin-Dashboard umgeleitet, da wir bereits eingeloggt sind. Aber es muss nicht zum Admin-Dashboard gehen. Es muss auf der Admin-Login-Seite bleiben. Irgendeine Lösung dafür. Wie man dieses Problem angeht?

Antwort

1

Sie Middleware auf den Admin-Routen verwenden könnte der Benutzer zu überprüfen, ob ein Admin-Benutzer ist, so etwas wie die folgenden, wenn Sie eine is_admin Flagge auf Ihrem Benutzermodell funktionieren würde:

class IsAdminMiddleware 
    { 
     /** 
     * Handle an incoming request. 
     * 
     * @param \Illuminate\Http\Request $request 
     * @param \Closure $next 
     * @return mixed 
     */ 
     public function handle($request, Closure $next) 
     { 
      if (Auth::guest()) { 
       return redirect()->route('login'); 
      } 

      if (!$request->user()->is_admin) { 
       abort(403, 'Not Authorised'); 
      } 

      return $next($request); 
     } 
    } 
+0

OK ..let Ich mache das. Vielen Dank für Ihre Antwort, ich werde wieder kommentieren, wenn ein Problem auftritt oder wenn etwas nicht von mir kommt. –