2016-11-17 11 views
2

私はauth:attemptメソッドが常に私をfalse値に戻す問題に直面しています。laravel 5.2 Auth:attempは常にfalseを返します

マイDbのエントリは以下のとおりです。

  • ユーザー名:管理者
  • パスワード: $ 2Y $ 10 $ jXkNy3WC2wqu0jmaqOfDiOgDnBV89uyvJPcNSU8xOnmO3w9RjT53S

注:私はハッシュの出力をエコーし​​た後、手動でパスワードを保存::作ります( 'admin')。

認証のためのコードは次のとおりです。

// create our user data for the authentication 
$userdata = array(
    'username'  => Input::get('username'), 
    'password' => Input::get('password'), 
    'agencyactive' => 1 
); 

if (Auth::attempt($userdata)) 
{ 
    echo 'SUCCESS!';exit; 
} 
else 
{ 
    echo "<br>Login error";exit; 
} 

それは常に版画 "ログインエラー"。トラブルシューティングのための

私はそれが適切なレコードを取得、SQLクエリを記録し、

驚くべきことに
select * from `agencies` where `username` = 'admin' and `agencyactive` = 1 limit 1 

、私は以下のように比較を検証するとき、それは私が何が起こっているのか見当もつかない

if (\Hash::check('admin', '$2y$10$jXkNy3WC2wqu0jmaqOfDiOgDnBV89uyvJPcNSU8xOnmO3w9RjT53S')) 
{ 
    // The passwords match... 
    echo "MATCHES"; 
} 
else 
{ 
    echo "NO Match"; 
} 

にマッチし出力しますここで間違い???

答えて

0

デフォルトのユーザーではなく、別のモデルがありますか。

あなたが設定/ auth.phpと変更に行くことができるので、場合:

'model' => 'MyApp\Models\Agency', 

例えば、返信用

+0

のような特定のメソッドを実装する必要があるため、ことがわかったはい、私の認証設定は次のとおりです。 '「デフォルト」= > [ 'ガード' => 'ウェブ'、 のパスワード '=> 'ユーザー'、 ]、 '警備員'=> [ 'ウェブ'=> [ 'ドライバ'=> 'セッション'、 'provider' => 'users'、 ]、 'api' => [ 'driver' => 'token'、 'プロバイダ' => 'ユーザー'、 ]、 ]、 'プロバイダ' => [ 'ユーザー' => [ 'ドライバ' => '雄弁'、 'モデル' =>アプリケーション\代理店: :クラス、 ]、 ]、 ' – user7174455

0

感謝。

私は(ユーザーではなく)「機関のテーブルを使用しています、モデル庁は

public function getAuthPassword() 
{ 
    return $this->password; 
} 
関連する問題