为什么要从 laravel/ui 迁移
laravel/ui 在 Laravel 13 上仍能运行。laravel/ui 的最新版本也确实包含了 Laravel 13 的兼容性。
不过,现在官方的启动套件都是基于 Fortify 的。如果一直保持 laravel/ui,你会逐渐偏离官方“当前姿势”。
如果你想保留现有的 Bootstrap + Blade 结构,同时提升未来的可维护性,把认证后端换成 Fortify 是一个有效的做法。
迁移的整体思路
这次迁移只替换认证后端,UI 不做大规模翻新。- 用 Fortify 提供认证路由和处理
- 保留现有的 Bootstrap + Blade 模板
- 只在必要处调整表单的
action或输入字段名
Fortify 是 headless 的认证后端。Fortify 本身不提供 UI,因此现有的 Blade 可以照旧使用。
Fortify 的安装步骤
配置 FortifyServiceProvider
在通过 php artisan fortify:install 生成的 app/Providers/FortifyServiceProvider.php 中把视图挂上。
如果继续复用现有的 resources/views/auth,以下这些设置就是迁移的关键。
Blade 模板的最小改动
迁移后请检查现有 Blade 里的以下几点。- 表单的
action是否指向 Fortify 的端点(如/login、/register、/forgot-password)。大部分位置使用的是route('login')或route('register')这类命名路由,基本不需要改。但route('verification.resend')在 Fortify 中是route('verification.send'),这里需要改。
auth/passwords/reset.blade.php 需要改两处。
关闭不需要的功能
laravel/ui 里没有的功能就用不上,可以在 config/fortify.php 里关掉。想启用时准备好新的 view 文件即可。
上线前的自检清单
迁移完成后,至少要确认以下几项。迁移后的收益
完成这次迁移后,你的应用会更贴近现行启动套件中基于 Fortify 的做法。 将来要启用 2FA 或 passkey 会更加轻松。Laravel Fortify 与启动套件
如果你想进一步了解 Fortify 的内部设计、开启 2FA 或 passkey,请查看这一页。