【发布时间】:2015-08-28 11:21:12
【问题描述】:
问题: 每次我尝试 Auth::attempt() 时都返回 false
myUsersModel.php
<?php
use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;
class myUsersModel extends Eloquent implements UserInterface, RemindableInterface{
use UserTrait, RemindableTrait;
protected $table = 'myUsersTable';
protected $primaryKey = 'primary_key';
public $timestamps = false;
protected $increments = 'primary_key';
protected $fillable = array(
'user', //this is like username
'password', //this one contains hashed password values
'userlevel',
'remember_token',
);
protected $hidden = array('password');
}
myController.php
$attemptData = array(
'user' => Input::get('textBoxInput'),
'password' => Input::get('passwordInput')
);
Auth::attempt($attemptData);
return var_dump(Auth::check());
auth.php
'driver' => 'eloquent',
'model' => 'myUsersModel',
'table' => 'myUsersTable'
其他说明:
1. 我的记忆令牌可以为空varchar(100)
2. 我的密码字段是varchar(60)
3. 我可以通过dd(Input:all())获取表单值
4. 在我的数据库中,我有散列和非散列密码值,每个用户都不同。但两者都无法登录。
谢谢。
【问题讨论】:
-
是 $primaryKey 的 'id',因为默认情况下 laravel 假定 'id' 是用户标识符。
-
@yangqi,是的。我解决了这个问题,现在我来分享一下。
标签: php laravel authentication