기존 프로젝트를 laravel로 다시 개발하고 싶습니다.md5에서 laravel 암호화 방법으로 암호를 변환하는 방법
내 이전 시스템에서는 md5에 암호를 저장합니다.
이제 기존 사용자의 laravel 해시 방법에 따라 변환 할 수 있습니다.
직접적인 방법이 있습니까?
기존 프로젝트를 laravel로 다시 개발하고 싶습니다.md5에서 laravel 암호화 방법으로 암호를 변환하는 방법
내 이전 시스템에서는 md5에 암호를 저장합니다.
이제 기존 사용자의 laravel 해시 방법에 따라 변환 할 수 있습니다.
직접적인 방법이 있습니까?
직접적인 방법이 있습니까?
없음 직접적인 방법이 없다,하지만 당신은 사용자가 같이 일반적으로 연결됩니다 후 암호가 md5
형식 인 경우 Auth/AuthController.php
내부 postLogin
를 재정 의하여 그래서 체크 것을 달성 다른 laravel 해싱 방법을 recrypt 수 :
public function postLogin(Request $request)
{
$this->validate($request, [
'login' => 'required', 'password' => 'required',
]);
$credentials = $this->getCredentials($request);
//Get the user
$user = User::where('login', $request->login)->first();
//If Hached by bcrypt
if (Auth::attempt($credentials, $request->has('remember')))
{
return redirect()->intended($this->redirectPath());
}
else //Else if Hached by md5
{
if($user && $user->password == md5($request->password))
{
$user->password = Hash::make($request->password);
$user->save();
if($user->authorized){
$user->save();
Auth::login($user);
}else
Auth::logout();
}
}
return redirect($this->loginPath())
->withInput($request->only('login', 'remember'))
->withErrors([
'login' => $this->getFailedLoginMessage(),
]);
}
희망이 도움이됩니다.
아니요.
달성 할 수있는 유일한 방법은 사용자가 이전의 md5 해시 된 비밀번호를 사용하여 로그인하고 비밀번호 변경을 적용 할 수있는 앱의 새로운 동작 (laravel에서 작성)을 개발하는 것입니다. 로그인 프로세스 - 로그 된 사용자 모델을 업데이트하여 laravels 해싱 메소드를 사용하여 비밀번호를 저장합니다.
사용자 만 암호를 변경할 수 있습니다 (암호가 표시되지 않음). 따라서 암호 재설정 링크를 보내고 Laravel 해시 방법으로 암호를 업데이트해야합니다.