Laravel 11是否有RouteServiceProvider的HOME常量及中间件配置问题
Laravel 11 相关路由与认证中间件问题
初始问题:HOME 常量功能是否保留?
Laravel 11 之前的版本,可在 RouteServiceProvider 类中定义以下常量,指定用户登录后的默认跳转路径:
public const HOME = '/admin/dashboard';
我未在官方文档中找到该功能的相关说明,请问 Laravel 11 是否仍支持此功能?
更新#1:自定义 guest 中间件的 guards 参数为空问题
我自定义了 OnlyGuestAllowedMiddleware 中间件,并在 bootstrap/app.php 中配置了别名,中间件代码如下:
public function handle(Request $request, Closure $next, string ...$guards): Response { $guards = empty($guards) ? [null] : $guards; dd($guards); foreach ($guards as $guard) { if (Auth::guard($guard)->check()) { return redirect(Auth::user()->getRedirectRoute()); } } return $next($request); }
执行后发现 $guards 是包含 null 的数组,但我的项目中该参数为空,请问这个参数在哪里配置?
更新#2:自定义 guest 中间件无法检测登录状态
我手动修改中间件代码,将默认 guard 设置为 web:
$guards = empty($guards) ? ['web'] : $guards;
但即便刚登录应用,Auth::guard($guard)->check() 仍返回 false,! empty(auth()->user()) 同样返回 false。我的 bootstrap/app.php 配置如下:
$middleware->alias([ 'guest' => \App\Http\Middleware\OnlyGuestAllowedMiddleware::class ]);
我怀疑将 guest 别名配置为全局中间件的方式不合理,请问这个配置是否正确?
内容的提问来源于stack exchange,提问作者Petro Gromovo
相关产品推荐
相关产品推荐

