6

我有一个包含 2 个字段(用户名、密码)的表单一个包含 2 个相同字段(用户名、密码)的 mysql 表,并且我的身份验证系统正常工作:)

但是,如果我的表字段具有不同的名称,例如:( my_user, my_pass),我将无法使其工作。

如果您只是更改另一个用户名字段也适用于我,那么给我带来问题的是密码字段。

我的配置auth.php

'driver' => 'eloquent'

更新

已经在我的控制器中找到解决方案,password名称不能更改。

之前(错误):我首先做的是错误的

$userdata = array(
        'my_user' => Input::get('my_user'),
        'my_pass' => Input::get('my_pass')
    );

它应该是

$userdata = array(
        'my_user' => Input::get('my_user'),
        'password' => Input::get('my_pass')
    );
4

3 回答 3

7

auth.php您可以在配置文件夹中定义自己的用户名和密码字段。

 return array(
    'driver' => 'eloquent',
    'username' => 'my_user',
    'password' => 'my_pass',
    'model' => 'User',
    'table' => 'users',
 );

我希望这能有所帮助。

于 2013-06-20T20:18:00.227 回答
3

我遇到了同样的问题。您需要扩展您的模型:

// User.php

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

class User extends Eloquent implements UserInterface, RemindableInterface {

    protected $fillable = array('name','passwd','email','status','timezone','language','notify');
    protected $hidden = array('passwd');

    protected $table = "users_t";
    protected $primaryKey = "uid";

    public static $rules = array(
        'name' => 'required',
        'passwd' => 'required',
        'email' => 'required'
    );

    public function getAuthIdentifier() {
        return $this->getKey();
    }

    public function getAuthPassword() {
        return $this->passwd;
    }

    public function getReminderEmail() {
        return $this->email;
    }

    public static function validate($data) {
        return Validator::make($data,static::$rules);
    }
}
于 2013-06-21T15:15:33.183 回答
-4

您也需要实现此方法:

public function getRememberToken(){

}
public function setRememberToken($value){

}
public function getRememberTokenName(){

}
于 2014-08-28T07:25:56.270 回答