gpt4 book ai didi

laravel-nova - 登录后 Laravel Nova 重定向到自定义路径

转载 作者:行者123 更新时间:2023-12-04 01:48:35 25 4
gpt4 key购买 nike

我需要在用户登录后根据其角色重定向到不同的地方。
逻辑很简单。我试着把它放在 redirectPath() Nova 中的函数 LoginController.php ,但我有一个非常奇怪的行为 - 有时登录后我会到达正确的位置,有时 Nova 会将我重定向到面板。
任何的想法?

最佳答案

经过几个小时的调查,我发现解决方案非常简单。

我所要做的就是向 nova LoginController 添加以下函数:

protected function sendLoginResponse(Request $request)
{
$request->session()->regenerate();

$this->clearLoginAttempts($request);

$redirectPath = $this->redirectPath();
redirect()->setIntendedUrl($redirectPath);

return redirect()->intended($redirectPath);
}

说明:

此功能在 trait 中实现验证用户。
intended函数( Redirector 类的成员)根据先前预期的位置创建重定向响应,如果不存在 - 在给定的 url 上。

如果没有 url.intended在 session 中设置,用户将被重定向到由 LoginController::redirectPath 生成的 url . 然而 ,如果有 url.intended 的条目 session 中确实存在,我们需要删除它以强制将用户重定向到我们感兴趣的 url。

我看到的唯一问题是我们失去了将用户重定向到他注销前所在页面的功能。因此,作为开发人员,这是一个简单的选择问题......

关于laravel-nova - 登录后 Laravel Nova 重定向到自定义路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54334986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com