Passwort Ändern In Laravel 5.4
Ich habe fügen Sie code zum ändern des Kennworts in meiner webapp. Aber Hash::check()
funktioniert nicht. Immer false zurück. Auch Hash::Make()
gibt unterschiedliche string-jedes mal. Ich habe versucht bcrypt()
statt, aber es auch nicht funktioniert. Bitte helfen Sie mir. Hier ist mein code.
public function changePassword(Request $request)
{
$user = Auth::user();
$curPassword = $request->input['curPassword'];
$newPassword = $request->input['newPassword'];
if (Hash::check($curPassword, $user->password)) {
$user_id = $user->id;
$obj_user = User::find($user_id)->first();
$obj_user->password = Hash::make($newPassword);
$obj_user->save();
return response()->json(["result"=>true]);
}
else
{
return response()->json(["result"=>false]);
}
}
Danke.
es sollte
Check 5balloons.info/...
$request->input('curPassword');
nicht $request->input['curPassword'];
Check 5balloons.info/...
InformationsquelleAutor Fred Lopes | 2017-03-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, dass Ihr $curPassword variable leer ist, deshalb ist es immer false zurückgeben. Versuchen Sie, diese Art und Weise
Es sei denn, Sie senden von Daten in einem
input
array. Aber somewhoe,Hash::check()
versagt, d.h. es ist kein Spiel.Als für die gleichen string, ja,
Hash::make()
gibt immer eine andere Zeichenfolge. Ich denke, für Zwecke der Gefahrenabwehr.Schließlich habe ich behoben. Es war mein Fehler.
InformationsquelleAutor EddyTheDove
Heres, wie ich es gemacht habe:
In meinem controller habe ich die folgende Methode verwenden:
Dieser überprüft die Eingabe, dann richtig speichern Sie das neue Passwort für den aktuellen Benutzer. Es blinkt auch eine Nachricht und gibt Sie auf die Passwort-ändern-Formular. Sie können entfernen Sie den Teil und tun Sie Ihre eigene Sache.
Dieser nutzt eine benutzerdefinierte Gültigkeitsregel ich erstellt namens
current_password
. Müssen Sie fügen Sie diese an IhreAppServiceProvider::boot()
Methode etwa so:Nur sicherstellen, dass Sie mit der
Auth
,Hash
, undValidator
Fassaden in derAppServiceProvider
.Schließlich, wir brauchen einfach zu erklären, die Fehlermeldung in unserem
lang/en/validation.php
Datei:Hoffe, das hilft.
InformationsquelleAutor kjdion84
Sollte es
nicht
In Laravel Dokumentation Sie sagen, wenn Sie das Kennwort ändern möchten, was Sie tun konnte, nachdem die überprüfung ist
versuchen
dd($request)
Ihre Daten und sehen, was Sie bekommen.Vielen Dank für Ihre Mühe. Es war mein Fehler. Ich war das versenden von falschen Wert bei der post-Anfrage.
InformationsquelleAutor Amr Aly
Gibt es auch Fehler in dieser Zeile
sollte es
Als offizielle Dokumentation sagen
InformationsquelleAutor sachin kumar