Laravel 4 Auth :: attempt()问题

时间:2013-09-19 07:48:05

标签: php laravel laravel-4

我正在尝试使用Laravel的Auth类,但该方法总是返回false。这是我的代码:

控制器:

public function postLogin()
    {
        // Declare the rules for the form validation.
        //
        $rules = array(
            'email'    => 'Required|Email',
            'password' => 'Required'
        );

        // Get all the inputs.
        //
        $email = Input::get('email');
        $password = Input::get('password');
        // Validate the inputs.
        //
        $validator = Validator::make(Input::all(), $rules);

        // Check if the form validates with success.
        //
        if ($validator->passes())
        {
                   //echo $password; displays test
            // Try to log the user in.
            //
            if (Auth::attempt(array('email' => $email, 'password' => $password)))
            {


                // Redirect to the users page.
                //
                return Redirect::to('account')->with('success', 'You have logged in successfully');
            }
            else
            {
                // Redirect to the login page.
                //
                return Redirect::to('account/login')->with('error', 'Email/password invalid.');
            }
        }

        // Something went wrong.
        //
        return Redirect::to('account/login')->withErrors($validator->getMessageBag());
    }

Seeder.php

公共功能运行() {     DB ::表( '用户') - >删除();

$users = array(
    array(
        'email'      => 'test@test.com',
        'password'   => Hash::make('test'),
    'first_name' => 'John',
    'last_name'  => 'Doe',
        'created_at' => new DateTime,
        'updated_at' => new DateTime,
    )
);

DB::table('users')->insert( $users );

}

2 个答案:

答案 0 :(得分:1)

这将是因为框架错误。所以尝试更新它。

composer update

或者

php composer.phar update

答案 1 :(得分:1)

在config / auth.php文件中 尝试更改'driver'=> 'eloquent'到'driver'=> '数据库'。