2016-12-14 1 views

답변

5

직접적인 방법이 있습니까?

없음 직접적인 방법이 없다,하지만 당신은 사용자가 같이 일반적으로 연결됩니다 후 암호가 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(), 
     ]); 
} 

희망이 도움이됩니다.

3

아니요.

달성 할 수있는 유일한 방법은 사용자가 이전의 md5 해시 된 비밀번호를 사용하여 로그인하고 비밀번호 변경을 적용 할 수있는 앱의 새로운 동작 (laravel에서 작성)을 개발하는 것입니다. 로그인 프로세스 - 로그 된 사용자 모델을 업데이트하여 laravels 해싱 메소드를 사용하여 비밀번호를 저장합니다.

0

사용자 만 암호를 변경할 수 있습니다 (암호가 표시되지 않음). 따라서 암호 재설정 링크를 보내고 Laravel 해시 방법으로 암호를 업데이트해야합니다.

관련 문제