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

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 に答える