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% 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).
Können Sie Code für Ihr Modell anzeigen? Dies sind einige Dinge, die im Benutzermodell sein sollten, damit Auth funktioniert.
%Vor%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: Ссылка
Beachten Sie, dass Sie User-Tabelle, das Passwort-Feld ist Hashed, Ursache von Auth :: versuchen ($ credentials); $ credentials- & gt; password bewertet das Hash-Passwort
Überprüfen Sie, ob Ihr Passwort verschlüsselt ist. Es sollte kein normaler Text sein.
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:
Tags und Links php authentication laravel-4 laravel