Laravel 4 Auth: Versuch nicht zu funktionieren

7

Ich habe Schwierigkeiten mit der Laravel 4 Auth :: versuch-Methode zu arbeiten, bin der richtigen Dokumentation gefolgt, habe ein paar SO-Threads gelesen, bin aber immer noch nicht in der Lage, es zum Laufen zu bringen.

%Vor%

Und es wird immer ungültig zurückgegeben

Jetzt bin ich nicht sicher, was der eigentliche Grund ist.

In meiner config / auth.php habe ich folgende

%Vor%     
Aman Virk 04.06.2013, 11:35
quelle

8 Antworten

15

Stellen Sie sicher, dass Ihr Kennwortfeld in Ihrer Datenbank Platz für 64 Zeichen bietet . varchar(64)

Der Hash benötigt 64 Zeichen und Sie werden keinen Fehler von Laravel bekommen, wenn Ihr Hash-Passwort beim Einfügen abgeschnitten wurde (und daher niemals in der Lage ist, ein Passwort positiv zu validieren).

    
Isabell Knauer 13.12.2013 14:52
quelle
10

@ eric-evans ist richtig. Um die Authentifizierung in Laravel 4 zu verwenden, müssen Sie Ihr "Benutzer" -Modell die Benutzeroberfläche \ Illuminate \ Auth \ UserInterface verwenden und die Methoden implementieren

%Vor%     
judasane 28.07.2013 04:18
quelle
8

Können Sie Code für Ihr Modell anzeigen? Dies sind einige Dinge, die im Benutzermodell sein sollten, damit Auth funktioniert.

%Vor%     
Eric Evans 05.06.2013 07:24
quelle
2

Ich hatte auch einige Probleme damit. Was ich bemerkte, war, dass ich in meinem Benutzermodell hatte:

%Vor%

In der Datenbank hatte ich die deleted_at-Spalte, aber sie wurde standardmäßig mit einem Zeitstempel versehen, der auf Null gesetzt wurde - 0000-00-00 00:00:00. Dies führte dazu, dass der Datensatz nicht gefunden wurde und somit die Authentifizierung fehlschlug.

Ich musste die Migration korrigieren, damit die deleted_at-Spalte korrekt erstellt wurde:

%Vor%

Hier sind die Dokumente zum Löschen: Ссылка

    
lscott3 10.07.2013 05:23
quelle
0

Die Auth-Klasse benötigt eine Spalte namens id als Primärschlüssel in Ihrer Benutzertabelle.

    
Petraeus 27.08.2013 20:38
quelle
0

Beachten Sie, dass Sie User-Tabelle, das Passwort-Feld ist Hashed, Ursache von Auth :: versuchen ($ credentials); $ credentials- & gt; password bewertet das Hash-Passwort

    
Yassine Abdul-Rahman 21.06.2014 12:54
quelle
0

Überprüfen Sie, ob Ihr Passwort verschlüsselt ist. Es sollte kein normaler Text sein.

    
Vaibhavraj Roham 18.09.2015 20:57
quelle
-3

Ihr Code wird abgemeldet, weil Sie die falschen Array-Schlüssel an Auth::attempt() übergeben. Diese Methode erfordert ein Array mit Schlüssel Benutzername, Passwort und optional zu erinnern. In diesem Licht sollte der obige Code lauten:

%Vor%     
CreativityKills 17.06.2013 07:04
quelle