Der Algorithmus funktioniert, aber sobald das Kennwort in Hash konvertiert und in der Datenbank gespeichert wurde, wird es nicht auf die Homepage umgeleitet. Stattdessen wird auf die Anmeldeseite umgeleitet, dass die Anmeldedaten falsch sind. Aber wenn ich versuchte, mich anzumelden, ist es in Ordnung. Was mache ich falsch?Fehler beim Migrieren von md5 zu Hash in Laravel
AuthenticatesUsers.php
protected function attemptLogin(Request $request)
{
$check = $this->guard()->attempt(
$this->credentials($request), $request->has('remember')
);
if ($check === false)
{
$user = User::where('username','=',$request->input('username'))->first();
if(isset($user)) {
if($user->password == md5($request->input('password'))) { // If their password is still MD5
$hashed_password = Hash::make($request['password']); // Convert to new format
$user->password = $hashed_password;
$user->save();
return $this->guard()->attempt(
array(
'username'=>$request->input('username'),
'password'=>$hashed_password
), $request->has('remember')
);
} else {
// Redirect to the login page.
return false;
}
}
}
return $check;
}
Sie stellen sich also vor, dass sich der Benutzer mit 'md5 hashed password' anmelden könnte? –
yup, coz ich ersetze die aktuelle md5 in laravel's hash. Aber das Problem ist danach. – EatCodePlaySleep
Sie müssen also das vorhandene md5 Passwort in Ihrer Datenbank in 'Laravel Hashing' konvertieren? Wenn ja, versuchen Sie 'if (password_verify ($ request-> input ('password'), $ user-> password)' stattdessen zu sagen. –