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

Laravel 8.55搭配Statamic 3使用Breeze认证注册成功但无法登录问题

问题根因

你遇到的问题是Statamic 3默认会覆盖Laravel的认证用户提供者配置,导致Breeze生成的认证逻辑使用了Statamic的用户驱动,而非Laravel默认的Eloquent用户驱动:存数据时走的是Laravel的User模型写入users表,但登录校验、登录态生成时走的是Statamic的用户查询逻辑,自然匹配不到已存入的用户,也就无法生成remember_token、无法完成自动登录。

解决方案

按以下步骤逐一排查修复即可:

  • 第一步:修正Laravel认证配置
    打开config/auth.php,找到providers配置块,确认users提供者配置如下:
'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Models\User::class,
    ],
],

如果此处driver被改为statamic就会出现你遇到的问题。

  • 第二步:确认User模型继承关系
    检查app/Models/User.php是否继承Laravel默认的认证类,正确的继承关系如下:
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    // 原有模型逻辑
}

不要继承Statamic提供的User类。

  • 第三步:(需要兼容Statamic用户体系时执行)
    如果你需要同时使用Statamic的权限功能和Breeze的用户表,需要将Statamic的用户驱动改为Eloquent,打开config/statamic/users.php修改如下配置:
'driver' => 'eloquent',
'model' => App\Models\User::class,

这样Statamic会自动复用你现有的users表做用户查询。

  • 第四步:清理配置缓存
    修改完所有配置后执行以下命令清理缓存,避免旧配置生效:
php artisan config:clear
php artisan cache:clear

修复完成后重新注册新用户即可正常登录,remember_token字段也会在用户勾选「记住我」时自动写入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 04:57:02