2016-11-27 1 views
-1

마지막 30 분이 stackoverflow의 모든 게시물을 읽고 있습니다. 솔루션을 찾을 수 없습니다. 이 내 코드입니다 :왜 laravel Auth :: 시도가 작동하지 않습니다.

public function PostLogIn(Request $request) 
    { 

     if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) { 

       return redirect()->route('dashboard'); 
      } 
     $status = 'Incorrect details'; 
     return view('login')->with('status',$status); 

    } 

당신이하기 전에, 내가 모든 60 개 문자를 사용할 수 있습니다 등록 및 암호 컬럼에 해시에서 사용자 암호를 저장하고있다. 전자 메일 및 암호 필드에 기본 이름이있는 표준 사용자 모델을 사용하고 있습니다. 내가 사용자 모델이 추가해야 어딘가에 읽기 :

public function getAuthPassword() { 
    return $this->UserEmail; 
} 

가 작동하지 않습니다 또한 시도. 보낸 사람이 데이터를 제대로 보내고 있지만 인증이 여전히 실패합니다. 나는 아직 언급 할 수 있지만,이 도움이되지 않는 경우에 나는 제거 할 것이다

+0

일을'$ 요청 -> email'과'$ request-> password'에 포함되어 있습니까? 그들은 당신이 기대하는 것을 가지고 있습니까? –

+0

양식 입력의 데이터가 들어 있습니다. 예, $ 요청에 dd()를 수행 했으므로 괜찮습니다! – Michael

+0

'getAuthPassword' 함수를 제거해보십시오. –

답변

0

(:)이 대답 사람을 위해 내가, 1.5 시간 전 후 만들어 편집하고 싶었지만 실수로 삭제, 죄송합니다) 그것.

  1. $request->email 아무것도 (이메일)를 제공해야합니다, $request->password

  2. 확인하는 경우 $request->password에 대한 dd($request->email);

  3. 동일은 동일한 해시를 생성하는 DB에서 하나

    if (Hash::check($request->password, $hashInDB)) { 
        // The passwords match... 
    } 
    
  4. 마지막으로 (실제로 이것은 먼저 수행되어야합니다 : P) $request->email에 메일은 DB에 저장 한 것과 동일

PS : 물론 모델의 getAuthPassword에 대해, 당신은하지 않고 시도 할 시도해야하지 그것을

관련 문제