在我的laravel应用程序中,我试图为新注册的用户使用验证功能。
当前功能是在用户注册时显示一个页面,提示他们检查电子邮件。用户单击电子邮件中的链接以验证其电子邮件,然后将其重定向到/account
,这是受Auth保护的路由。但是,当用户随后尝试导航到另一个“已认证”路由时,他们将被重定向到登录页面!
根据一些研究人员的说法,这预计用户将不得不再次登录,但这对我来说是糟糕的用户体验。
我确实试图像这样修改VerificationController中的verify方法:
public function verify(Request $request)
{
$userId = $request->route('id');
$user = User::findOrFail($userId);
Auth::login($user);
if ($user->markEmailAsVerified()) {
event(new Verified($user));
}
return redirect($this->redirectPath());
}
没有这种运气!
理想情况下,我希望用户单击电子邮件中的链接,然后他们仍保持登录状态。
任何帮助都会很棒!