2016-04-17 13 views
3

が動作していないLaravel 5.2ログインは、私は簡単な登録コードを持って

$post = $request->all(); 

if (\Auth::attempt(['email' => $post['email'], 'password' => Crypt::encrypt($post['password'])])) 
    return 'loginSuccess'; 
return 'loginFailed'; 

それ常にloginFailedを返し、返信することはありませんloginSuccess。 私は何ができますか?

+2

$post = $request->all(); if (\Auth::attempt(['email' => $post['email'], 'password'=>$post['password']])) return 'loginSuccess'; return 'loginFailed'; ....また –

+0

は、なぜあなたはそのことができ、パスワードを作成するためにクリプトを使用していますハッシュではなく、復号化されますか? –

+0

としてMark Ba​​kerが指摘しているように、プレーンテキストのパスワードは、データベースのハッシュと比較する必要があるため、試行メソッドに渡されます。パスワードはハッシュ化され、暗号化されません。 – lagbox

答えて

0

に一致する。これは一例です作業する必要があります。

  1. ユーザーのパスワード使用してハッシュを作成します::作る()関数を使用すると、ユーザーデータを作成するときに

    ハッシュ::作る( 'パスワード');

  2. 下記のコードを使用してログインしてください。

のAuth ::試みのドキュメントは、引数ではなく、暗号化された/ハッシュされたパスワードとパスワードを使用するように言う
0

パスワードを暗号化/復号化する必要はありません.Laravelはそれを単独で実行します。単純なパスワードを渡すだけです。

$post = $request->all(); 

if (\Auth::attempt(['email' => $post['email'], 'password' => '1234dfgG')])) 
    return 'loginSuccess'; 
return 'loginFailed'; 

下記をご覧しようとしているときに、Laravelは暗号化のために、独自のbcrypt法を適用し、パスワードを

関連する問題