Laravel身份验证登录不断给出;这些凭证与我们的记录不符。”;
我已经设置了laravel并使用了它的默认身份验证控制器,但我修改了表名和表结构,并相应地更改了RegisterController和LoginController。RegisterController工作正常,正在注册新用户,但当我尝试使用登录表单登录时,它会给出相同的验证错误:“这些凭据与我们的记录不匹配。” 我已经附加了以下文件:LoginController、RegisterController、Admin(Model)、Config->auth 我已根据电子邮件地址字段覆盖用户名字段 管理模型Laravel身份验证登录不断给出;这些凭证与我们的记录不符。”;,laravel,authentication,laravel-5.4,Laravel,Authentication,Laravel 5.4,我已经设置了laravel并使用了它的默认身份验证控制器,但我修改了表名和表结构,并相应地更改了RegisterController和LoginController。RegisterController工作正常,正在注册新用户,但当我尝试使用登录表单登录时,它会给出相同的验证错误:“这些凭据与我们的记录不匹配。” 我已经附加了以下文件:LoginController、RegisterController、Admin(Model)、Config->auth 我已根据电子邮件地址字段覆盖用户名字段
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Foundation\Auth\User as Authenticatable;
class admin extends Authenticatable
{
use Notifiable;
public $table = 'admin';
public $timestamps = false;
protected $primaryKey = 'AdminId';
protected $fillable = ['FirstName', 'LastName', 'FirstName_ar','LastName_ar','EmailAddress','Password','IsActive','remember_token'];
protected $hidden = ['Password', 'remember_token'];
public function getAuthPassword()
{
return $this->Password;
}
}
在注册表控制器
中,在创建
方法中,而不是
'password'=>bcrypt($data['password'])
,执行此操作
'password' => Hash::make($data['password'])
可能是因为您在注册时对密码使用了bcrypt
散列方法,但在登录时,它使用了不同的散列方法。
确保导入该类
use Illuminate\Support\Facades\Hash;
在注册表控制器
文件的顶部。
这里需要注意的另一件事是,在数据库中插入新用户记录时,确保默认情况下电子邮件小写,在登录时,确保电子邮件也小写。默认情况下,某些数据库区分大小写。所以你可能有问题。
就像数据库里有封电子邮件一样,
Admin@example.com当记录时,您会给出admin@example.com,在这种情况下,它将不匹配。
希望这有帮助
<?php
return [
'defaults' => [
'guard' => 'web',
'passwords' => 'admin',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'admin',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],
'providers' => [
// 'users' => [
// 'driver' => 'eloquent',
// 'model' => App\User::class,
// ],
'admin' => [
'driver' => 'eloquent',
'model' => App\admin::class,
],
],
'passwords' => [
// 'users' => [
// 'provider' => 'users',
// 'table' => 'password_resets',
// 'expire' => 60,
// ],
'admin' => [
'provider' => 'admin',
'table' => 'password_resets',
'expire' => 60,
],
],
];
'password' => Hash::make($data['password'])
use Illuminate\Support\Facades\Hash;