2016-10-11 12 views
0

私はlaravel 5.2 のlaravelで手作業でコードを記述しています。Auth :: attempt()laravel 5.2

私のログインページで私のメールアドレスを正しく入力すると、パスワードがヌルであっても正しくない場合でも、それは真実を返します。

は、ここに私のコード

userController.php パブリック関数postSignIn(リクエスト$リクエスト){

$user = array(
     'email' => $request->input('email'), 
     'password' => $request->input('password') 
    ); 

     if (Auth::attempt($user)) { 
      return redirect() -> route('dashboard'); 

     } 
     return redirect()->back(); 

} 

}

私を助けてくださいです。どうもありがとうございます。

+0

if(Auth :: attempt(['email' => $ request-> email、 'password' => $ request-> password])){ return redirect() - >意図した($ this-> redirectPath ()); } else { リダイレクト() - > back() - > with( '警告'、 'ログインに失敗しました'); } – t9toqwerty

+0

試行メソッドは、最初の引数としてキー/値のペアの配列を受け入れます。配列の値は、データベーステーブル内のユーザーを見つけるために使用されます。したがって、上記の例では、ユーザーは電子メール列の値によって取得されます。ユーザーが見つかると、データベースに格納されているハッシュされたパスワードが、配列を介してメソッドに渡されたハッシュされたパスワード値と比較されます。 2つのハッシュされたパスワードが一致すると、認証されたセッションがユーザーに対して開始されます。 認証が成功した場合、試行メソッドはtrueを返します。それ以外の場合はfalseが返されます。 – t9toqwerty

+0

https://laravel.com/docs/5.3/authentication#authenticating-users – t9toqwerty

答えて

0

データをダンプして、渡されるデータが正しいかどうかを確認してください。

$credentials =['email' => $request['email'], 'password' =>  $request['password']; 

var_dump($credentials); 

あなたはデータがattemp()

のvar_dump(認証::試み($資格情報を))のリターンをチェックするために、その後、正しい優れていることを確認している場合は、

ます。また、ここではデータの検証を確認することができます。 https://laravel.com/docs/5.2/validation

をまた、nullのレコードのデータベース(ユーザー表)を確認することが良いです。

関連する問題