2016-07-22 5 views
1

내 인증 함수는 UserController 함수에서 항상 false를 반환합니다. 여기 내 컨트롤러 함수가 있습니다. 나는 자격 증명을 입력하면PHP Laravel auth가 제대로 작동하지 않습니다.

public function postSignin(Request $request) 
{ 
    $userdata = array(
     'email'  => $request->input('email'), 
     'password' => $request->input('password') 
    ); 

    if (Auth::attempt($userdata)) 
    { 
     return redirect()->route('user.profile'); 
    } 
    else 
    { 
     return redirect()->back(); 
    } 
} 

여기 내 경로 코드

Route::post('/signin', [ 
    'uses' => '[email protected]' , 'as' => 'user.signin' 
]); 

이며, 인증의 if 부분은 작동하지 않으며 다른 조건의 지시에 따라 내 페이지로 이동하고 ...

+0

이것을 위해'php artisan make : auth'를 사용 했습니까? –

+0

이것은 사용자 작성과 관련이있을 수 있습니다. 사용자 생성시'Hash :: make()'를 사용 했습니까? – Michel

답변

1

Auth::attempt() 기능을 사용하면 laravel이 자동으로 비교할 암호를 해시하므로 사용자 암호를 일반 텍스트로 저장할 수 있습니다. bcrypt() 도우미 기능을 사용하여 비밀번호를 올바르게 해시 할 때 삽입해야합니다. 내가 생각할 수있는 유일한 다른 가능성은 올바른 암호 또는 사용자 이름을 입력했는지 여부입니다. bcrypt의

예는 새 사용자를 만들 때 :이 도움이

User::create([ 
    "username" => $username, 
    "password" => bcrypt($password); 
]); 

희망을!

+0

사용자를 생성하는 동안 bcrypt 기능을 사용하고 있는데 여전히 작동하지 않습니다. – tobi

관련 문제