php - 如何在 Laravel 8 中使用身份验证保护重定向到预期页面?
问题描述
背景
我正在使用ldaprecord-laravel包进行 Laravel 8 的 LDAP 身份验证。用户将被要求进行身份验证以访问其预期页面,并且在身份验证后应重定向到预期页面。基本身份验证正确重定向,但在我添加自定义身份验证保护后,有效登录将重定向到应用程序的主页 (RouteServiceProvider::HOME),这是默认行为。
我试过的
我尝试编辑App/Http/Middleware/RedirectIfAuthenticated.php
重定向到预期页面而不是主页,我收到错误ERR_TOO_MANY_REDIRECTS
,因为它不断从登录 -> 预期 -> 登录 -> 预期 -> (...) 重定向。
// App/Http/Middleware/RedirectIfAuthenticated.php
public function handle(Request $request, Closure $next, ...$guards)
{
$guards = empty($guards) ? [null] : $guards;
foreach ($guards as $guard) {
if (Auth::guard($guard)->check()) {
return redirect()->intended(RouteServiceProvider::HOME);
// Original: return redirect(RouteServiceProvider::HOME);
}
}
return $next($request);
}
我没有对 Fortify 的默认路由行为进行任何更改。在使用警卫或某处缺少配置时,是否有另一种方法可以重定向 Fortify 身份验证?
解决方案
推荐阅读
- html - 为什么 thymeleaf 不插入我的 html 代码块?
- python - 如何为 HoloViews 中的点图手动设置颜色条的刻度位置?
- excel - MS Office 邮件合并中具有可变行数的表
- amazon-web-services - AWS Golang 开发工具包是否包含对 Cognito 提供程序的支持?
- apache-spark - 如何在纱线客户端上从 jupyter 运行 spark
- javascript - 比较输入文本和人名只属于一个输入数字id
- angular - 无法初始化 FormGroup
- javascript - 如何将从 1 个量角器测试脚本中检索到的变量传递给另一个
- c++ - 返回析构函数有副作用的对象
- python - 如何将 dask 数据帧写入谷歌云存储或 Bigquery