it-swarm.com.de

So melden Sie sich mit Auth :: attempt in ohne Passwort an Laravel 5,0?

Ich verwende Laravel 5.0. Ich möchte mich nur mit dem Benutzernamen (ohne Passwort) anmelden, da ich Single Sign On für den Zugriff auf mein Laravel -Projekt verwende. Wenn sich Benutzer also erfolgreich bei Single Sign On anmelden, wird in meiner Datenbank überprüft, ob das Benutzername des Benutzers, der sich angemeldet hat oder nicht.
Ich habe den ganzen Tag danach gesucht, aber ich habe immer noch den Hinweis gefunden.

Ich habe einen Fehler:

Argument 1, das an Illuminate\Auth\Guard :: login () übergeben wird, muss die Schnittstelle Illuminate\Contracts\Auth\Authenticatable implementieren, null angegeben

wenn ich den folgenden Code in meinem LoginController verwende:

$user = User::where('USER_NAME', '=', $_GET['UserName'])->first();
if(Auth::login($user)->USER_ID == $_GET['UserName']){
   return redirect('Home');
}

Und wenn ich den folgenden Code in meinem LoginController verwende:

if(Auth::attempt(['USER_ID' => $_GET['UserName']])){
   return redirect('Home');
}

Ich habe einen Fehler:

Undefinierter Index: Passwort

7
hendraspt

Nach der Dokumentation:

der Benutzer wird anhand des Werts der E-Mail-Spalte abgerufen. Wenn der Benutzer gefunden wird, wird das in der Datenbank gespeicherte Hash-Passwort mit dem über das Array an die Methode übergebenen Hash-Passwortwert verglichen.

Das Passwort muss also bei dieser Methode überprüft werden und ist daher ein erforderlicher Parameter.

Sie können sich wie folgt anmelden:

$user = User::where('USER_NAME', '=', $_GET['UserName'])->first();

if (empty($user)) {
    abort(404);
}

if(Auth::loginUsingId($user->id)){
    return redirect('Home');
}
3
Sovon

Sie können Benutzer nur per E-Mail manuell authentifizieren. so was:

  public function authenticate(Request $request)
     {
               $email=$request->get('email');
               if (Auth::attempt(['email' => $email))
                {     
                    return redirect()->intended('/');   
                }
                else 
                {
                    return redirect('/login');
                }

    }
0
Sanzeeb Aryal