首页 > 解决方案 > 登录后返回调用页面而不是仪表板(Laravel 8)

问题描述

在我的 Laravel 8 应用程序中,登录路径的链接提供在不同的位置,即用户可以从多个页面登录。默认情况下,登录后用户被重定向到仪表板。我正在寻找一种方法将用户返回到他单击登录按钮的同一页面。
我将 Laravel 与 Jetstream 和 Livewire 一起使用。文档说我可以通过更改“public const HOME = '/dashboard';”来做到这一点 到所需的目的地,但在我的情况下,目的地可以不仅仅是一个 url。
我尝试使用 'redirect()->back()' 代替 '/dashboard' 但它不起作用。请帮助需要什么更改。

标签: laravellaravel-8

解决方案


当您将用户重定向到登录页面时保存以前的 url,并且在用户身份验证后将他重定向到与您保存的会话相同的页面上。尝试这个:

public function showLoginForm()
{
     session(['link' => url()->previous()]);
     return view('auth.login');
}


protected function authenticated(Request $request, $user)
{
     return redirect(session('link'));
}

推荐阅读