2017-10-31 21 views
1

Ich benutze das Vertrauenspaket, um Rollen zu verwalten, und ich habe Pass für die Authentifizierung verwendet, da es APIs ist.Überprüfen, ob Benutzer eine Rolle in Laravel 5.5 hat

Eigentlich, was ich brauche wollen, ist zu überprüfen Benutzer eine Rolle hat,

ich mit folgenden Code versucht, aber es nicht

public function Adminlogin() 
{ 
    if(Auth::attempt(['email' => request('email'), 'password' => request('password')])) 
    { 
    $user = Auth::user(); 
    if($user->hasRole('admin')); 
    { 
     $success['token'] = $user->createToken('MyApp')->accessToken; 
     return response()->json(['success' => $success], $this->successStatus); 
     } 
     return response()->json(['error'=>'Abort'], 403); 

    } 
    else 
    { 
     return response()->json(['error'=>'Unauthorised'], 401); 
    } 
} 

funktioniert Ich möchte den Zugang generieren Token nur, wenn der Benutzer Administratorrolle, wenn Benutzer keine Rolle admin hat, dann Abbruch Nachricht anzeigen.

+0

Sie haben ein Semikolon am Ende des zweiten, wenn die auf das Problem beziehen können Sie in der ersten Antwort Kommentar beschrieben. –

Antwort

0
if(Auth::user()->hasRole('admin')) 

sollte funktionieren.

Aber Sie erklären nicht, was so in Ihrem Fall nicht funktioniert ...

+0

In meinem Fall, wenn die Bedingung nicht funktioniert, obwohl der Benutzer keine Rolle hat, wird die Bedingung ausgeführt. – manjunath

Verwandte Themen