2017-12-21 11 views
0

Ich benutze Laravel 5.4 und ich möchte umleiten diese drei verschiedenen Arten von Benutzern zu verschiedenen SeitenLaravel - nicht mehrere Authentifizierung auf verschiedene Seiten

Schema

Types 
+-------+-------------+ 
| id | name  | 
+-------+-------------+ 
| 1  | Super Admin | 
| 2  | Admin  | 
| 3  | Cashier  | 
+-------+-------------+ 

Users  
+-------+---------+-------------+ 
| id | type_id | name  | 
+-------+---------+-------------+ 
| 1  | 1  | Super Admin | 
| 2  | 2  | Admin  | 
| 3  | 3  | Cashier  | 
+-------+---------+-------------+ 

LoginController

umleiten
public function redirectTo() 
{ 
    if (Auth::user()->type_id === 1) { 
     return '/superAdmin/home'; 
    } 
    elseif (Auth::user()->type_id === 2) { 
     return '/admin/home'; 
    } 
    elseif (Auth::user()->type_id === 3) { 
     return '/kasir/home'; 
    } 
} 

HomeController

public function superAdmin() 
{ 
    return view('superAdmin.home'); 
} 

public function admin() 
{ 
    return view('admin.home'); 
} 

public function kasir() 
{ 
    return view('kasir.home'); 
} 

Routen

Route::get('/', '[email protected]'); 
Route::get('/admin/home', '[email protected]'); 
Route::get('/superAdmin/home', '[email protected]'); 

Ich folgte die Antwort meiner vorherigen Frage

redirecting three different user types/roles to different pages

ich mit type_id = 1, einen Benutzer bei der Verwendung zu unterschreiben versucht, was bedeutet, Der Benutzer ist ein Super-Admin, aber es leitet immer zu wie wir ll als Benutzer mit anderen Rollen

und das Problem ist, dass jede Rolle auf die Seite zugreifen kann, gehört zu einer anderen Rolle, was soll ich tun, um es zu beheben?

+0

versuchen Sie mit nur '==' '' '' 'in Ihrem Login-Controller – HirenMangukiya

+0

@HirenMangukiya Ich habe es versucht und es ist immer noch das gleiche wie zuvor –

+0

Haben Sie überprüft, Sie haben den richtigen Wert von' Auth :: Benutzer () -> type_id' – HirenMangukiya

Antwort

0

Sie können eine Sache tun, die ich in meinem letzten Projekt mit Laravel verwendet hatte.

Sie müssen diesen Code in Home-Index-Methode schreiben, so während Homepage laden wird Benutzer Id überprüfen und auf die entsprechende Seite umleiten.

if(Auth::check()) { 
     if(Auth::user()->in_usertype_id == 1) { 
       return view('admin.dashboard'); 
     }elseif(Auth::user()->in_usertype_id == 2) { 
       return view('admin.dashboard1'); 
     else{ 
      return view('admin.dashboard3'); 
     } 
}else{ 
      return redirect('login')->with('error', 
      Lang::get('message.unauthorize-access')); 
} 

Hoffe, das wird Ihnen helfen.

+0

es funktioniert sehr gut, danke für Ihre Hilfe –

+0

Ihre Begrüßung –

Verwandte Themen