アルゴリズムは機能しますが、パスワードがハッシュに変換されてデータベースに保存されると、ホームページにリダイレクトされません。代わりに、ログインクレデンシャルが正しくないことを示すログインページにリダイレクトされます。しかし、ログインしようとすればOKです。私は間違って何をしていますか?Laravelでmd5をハッシュに移行する際のバグ
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;
}
あなたは 'md5 hashed password'を使ってログインできると思っていますか? –
ええ、私は現在のmd5をlaravelのハッシュに置き換えています。しかし、問題はそれ以降です。 – EatCodePlaySleep
データベース内の既存のmd5パスワードを 'laravel hashing'に変換する必要がありますか? if(password_verify($ request-> input( 'password')、$ user-> password)) 'と言ってみてください。 –