如何在 Laravel 8 中完成登录/注册后立即跳转到指定页面

Laravel 8 默认登录或注册后跳转至 /,若需自定义跳转路径(如 /welcome),可通过重写控制器中的 $redirectTo 属性实现,无需修改中间件或路由逻辑。

Laravel 8 默认登录或注册后跳转至 `/`,若需自定义跳转路径(如 `/welcome`),可通过重写控制器中的 `$redirectTo` 属性实现,无需修改中间件或路由逻辑。

在 Laravel 8 中,使用内置认证脚手架(php artisan make:auth 已弃用,但 laravel/ui 或默认的 Fortify/Jetstream 风格仍沿用类似机制)时,登录成功后的跳转目标由 LoginController 的 $redirectTo 属性控制,而非 RouteServiceProvider::HOME 常量——后者仅用于未认证用户访问受保护路由时的「回退首页」(fallback home),例如通过 auth 中间件拦截后重定向的兜底地址。

要实现登录或注册后立即跳转至 /welcome,请在 app/Http/Controllers/Auth/LoginController.php 中设置:

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;

class LoginController extends Controller
{
    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = '/welcome';
}

同样地,若需对注册后跳转做统一配置,请在 RegisterController.php 中设置同名属性:

protected $redirectTo = '/welcome';

⚠️ 注意事项:

该方式简洁、符合 Laravel 惯例,且与守卫(guard)、重定向器(Redirector)深度集成,是官方推荐的标准实践。

本文转载于:互联网 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。