gpt4 book ai didi

laravel - 在 laravel 5.4 中成功重置他/她的密码后返回登录页面

转载 作者:行者123 更新时间:2023-12-04 02:04:55 26 4
gpt4 key购买 nike

每当用户在 Laravel 5.4 中成功重置他/她的密码时,我想重定向到登录页面。

目前它在成功重置后重定向到仪表板页面。我环顾四周所有的东西都说要放置
protected $redirectTo = '/home';在 protected $redirectTo = '/';但它没有给我任何解决方案。

最佳答案

默认情况下,Laravel 会在用户重置密码后对用户进行身份验证。所以不可能重定向到登录页面,因为只有 guest 用户才能查看登录页面。即使您将 $redirectTo 设置为 /login, guest 中间件也会将用户重定向回 /home,因为用户已通过身份验证。

如果您需要阻止用户在重置密码时自动登录并将其重定向到登录页面,您需要按照以下步骤操作。

在位于 app/Http/Controllers/AuthResetPasswordController 中进行以下更改。

将重定向路径更改为您的登录页面。

protected $redirectTo = '/login';

覆盖 resetPassword 方法以防止用户登录。将其添加到 Controller 。

protected function resetPassword($user, $password)
{
$user->forceFill([
'password' => bcrypt($password),
'remember_token' => Str::random(60),
])->save();
}

在上面加上这个

use Illuminate\Support\Str;

ResetsPasswords trait 中的原始方法如下所示。

protected function resetPassword($user, $password)
{
$user->forceFill([
'password' => bcrypt($password),
'remember_token' => Str::random(60),
])->save();

$this->guard()->login($user);
}

编辑:要在重定向时发送自定义响应,您可以覆盖 Controller 中的 sendResetResponse 并添加任何自定义 session /Flash 消息。默认情况下,laravel 会在密码重置成功时设置自己的响应。

protected function sendResetResponse($response)
{
return redirect($this->redirectPath())
->with('status', trans($response));
}

关于laravel - 在 laravel 5.4 中成功重置他/她的密码后返回登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44235363/

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