0

本の手順に正確に従ったと思いますが、配列に資格情報を手動で入力しても、ユーザーをログインさせることはできません。

誰かが下を見て、どこが間違っていたのかを見てもらえますか?

前に Migrations を使用して作成された users というテーブルと、email = 'test@test.com' および password = 'test' の行があります。

本当にありがとう。

ルート.php

Route::any('login', 'auth@login');

コントローラー/auth.php

class Auth_Controller extends Base_Controller 
{
    public function get_login()
    {
        return View::make('auth.login');
    }

    public function post_login()
    {
        $credentials = array(
            'username' => Input::get('email'),
            'password' => Input::get('password')
        );

        if(Auth::attempt($credentials))
        {
            return "User has been logged in.";
        }
        else
        {
            //return Redirect::back()->with_input();
            return "User has not been logged in.";
        }        
    }
}

認証/login.blade.php

{{ Form::open() }}

    Email: {{ Form::text('email', Input::old('email')) }} <br />

    Password: {{ Form::password('password') }} <br />

    {{ Form::submit('Login') }}

{{ Form::close() }}

config/auth.php

'driver' => 'eloquent',
'username' => 'email',
'password' => 'password',
'model' => 'User',
'table' => 'users',

モデル/user.php

class User extends Eloquent
{

}
4

3 に答える 3

2

LaravelフォーラムのAndrewBはこれに答えました:

組み込みの認証では、パスワードがハッシュされることが想定されています。Hash::make('mypassword') を使用してハッシュを作成し、その結果をデータベースに格納すると、ログインできるはずです。

@AndrewB、それはそれでした。本の例ではハッシュを使用していませんでしたが、post_update 関数に提案を追加してユーザーを編集すると、うまくいきました。

ありがとう。

于 2013-03-28T02:32:24.813 に答える
0

フィールド username が実際に電子メールアドレスを格納していることを確認してください。

于 2013-03-27T22:32:27.407 に答える