密码邮箱正确的情况下 Laravel 使用认证类(Auth) 实现登陆时总是显示密码和邮箱不匹配
问题已经解决。出错原因: auth 认证模块(auth.php)的数据接口没有进行更改!!如图所示
更改前
注意model的路径
geng更改后,注意model
先说开发环境:win10,laravel 5.6 PHP7.2.1 数据库mysql
问题陈诉:使用laravel自带的认证类(Auth)实现登陆时,即使输入的密码和邮箱正确,但还是登陆失败,请大神看看这是为啥,谢谢~
创建用户密码时使用的是bcrypt()加密方式。Auth.php配置文件使用的是默认guard
控制器的代码如下:
public function login()
{
echo "路由调用成功"; //测试是否正确请求
// 逻辑
$email = request('email'); //输入的邮箱
$password = request('password'); //输入的密码
print_r(['email' => $email, 'password' => $password]); //查看自己邮箱密码是不是输入正确的
if (\Auth::attempt(['email' => $email, 'password' => $password])) {
// 认证通过...
echo "登陆成功了";
}else{
echo "登陆失败";
}
}
模型代码如下:我将模型统一放在app\Model\路径下
<?php
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
protected $table = 'users'; //数据表
protected $fillable=[
'name','email','password'
];
}
下面可以看到密码和邮箱是输入正确的。
推荐文章: