You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel本地登录报错:Argument #1 ($user)需为Authenticatable类型求助

问题根源

错误提示已经明确了问题核心:Laravel认证系统要求用于登录校验的用户模型必须实现Illuminate\Contracts\Auth\Authenticatable接口,你当前的App\Models\user仅继承了基础的Model类,不满足认证系统的类型要求。

修复步骤

1. 修改User模型代码

你不需要手动实现所有认证相关方法,Laravel已经提供了封装好的认证基础类,直接替换继承关系即可,修改App/Models/user.php代码如下:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
// 替换原来的Model引用,使用Laravel内置的认证用户基础类
use Illuminate\Foundation\Auth\User as Authenticatable;

// 类名建议大写为User,符合Laravel命名规范,文件名同步改为User.php
class User extends Authenticatable
{
    use HasFactory;
    protected $fillable = [
        'name',
        'email',
        'password',
    ];

    // 你之前手写的getAuthIdentifier、getAuthPassword等认证相关方法可以全部删除
    // Authenticatable基础类已经内置了所有符合接口要求的默认实现
}

2. 校验认证配置(可选)

打开config/auth.php确认用户提供者配置和你的模型对应:

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Models\User::class,
    ],
],

3. 清理缓存(可选)

如果修改后仍报错,执行命令清理配置缓存即可:

php artisan config:clear

修改完成后重新测试登录功能即可正常运行。

内容的提问来源于stack exchange,提问作者TETSU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 12:42:04