1

这是路由文件,$users 显示值但登录失败

Route::post('login', function () {


    $user = array(
        'username' => Input::get('username'),
        'password' => Input::get('password')
    );



    if(Auth::attempt($user))
        {
        return Redirect::to('profile')
            ->with('flash_notice', 'You are successfully logged in.');
         }
    else
    {
    // authentication failure! lets go back to the login page
        return Redirect::route('login')
            ->with('flash_error', 'Your username/password combination was incorrect.')
            ->withInput();
    }
});

模态:

<?php

use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;

class User extends Eloquent implements UserInterface, RemindableInterface {

    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'users';

    /**
     * The attributes excluded from the model's JSON form.
     *
     * @var array
     */
    protected $hidden = array('password');

    /**
     * Get the unique identifier for the user.
     *
     * @return mixed
     */
    public function getAuthIdentifier()
    {
        return $this->getKey();
    }

    /**
     * Get the password for the user.
     *
     * @return string
     */
    public function getAuthPassword()
    {
        return $this->password;
    }



    /**
     * Get the e-mail address where password reminders are sent.
     *
     * @return string
     */
    public function getReminderEmail()
    {
        return $this->email;
    }

}
4

1 回答 1

1

使用 Laravel 提供的身份验证机制时,您应该通过以下检查列表:

  1. 存储密码的数据库列应该是一个长度为60 个字符的字符串。
  2. 密码应加密存储,非明文。由于我们谈论的是 BCrypt,它的值必须类似于:$2a$10$KssILxWNR6k62B7yiX0GAe2Q7wwHlrzhF3LqtVvpyvHZf0MwvNfVu.
  3. 您必须通过编辑位于的文件来配置安全机制app/config/auth.php

在那之后,你最终会解决你的问题。

于 2013-08-11T01:39:53.373 回答