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

Laravel 10+SQLite环境下用户认证失败问题求助

Laravel 10登录失败问题排查与修复

你的问题核心是密码没有经过哈希存储,Laravel的auth()->attempt()方法会自动对用户输入的密码做哈希处理后再和数据库中的值对比,但你直接把明文密码存入了数据库,导致永远匹配失败。

修复步骤:

  1. 重新创建哈希后的用户数据
    替换你原来的用户插入代码,使用Laravel的哈希工具类处理密码:

    // 记得先引入Hash类
    use Illuminate\Support\Facades\Hash;
    
    DB::table('users')->insert([
        'email' => 'admin@example.com',
        'name' => 'admin',
        'role' => 'admin',
        'password' => Hash::make('admin'),
    ]);
    

    更推荐使用User模型的create方法,因为Authenticatable基类会自动帮你处理密码哈希:

    App\Models\User::create([
        'email' => 'admin@example.com',
        'name' => 'admin',
        'role' => 'admin',
        'password' => 'admin',
    ]);
    
  2. 清理现有错误数据
    先删除数据库中已存在的明文密码用户,再执行上面的插入代码。可以通过Artisan Tinker操作:

    php artisan tinker
    

    在Tinker中执行:

    DB::table('users')->where('email', 'admin@example.com')->delete();
    
  3. 额外检查确认

    • 你的User模型已经将password加入$fillable,这部分没问题
    • 确认登录表单的输入框name属性为email和password,与控制器接收的字段一致
    • 路由配置和控制器逻辑没有问题,无需调整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 23:53:12