![](/img/trans.png)
[英]how redirect user after email verification in laravel 8 and nuxtjs
[英]Laravel - How to redirect to previous url after email verification?
电子邮件验证后,我想将用户重定向到以前的URL。
通常,在Laravel 5.7中,单击需要身份验证的路由后,登录后将重定向到该URL。
电子邮件验证后,我需要相同的行为。
首先,我们需要修改RedirectIfAuthenticated并将预期的url放入会话中。
class RedirectIfAuthenticated
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next, $guard = null)
{
if(session()->get("url.intended")){
session()->put("redirect_after_email_verification", session()->get("url.intended"));
}
if (Auth::guard($guard)->check()) {
return redirect('/admin');
}
return $next($request);
}
}
然后将以下代码添加到VerificationController,以检查先前添加到会话的url。 如果该URL存在于会话中,我们将在电子邮件验证后将用户重定向到该URL。
public function show(Request $request)
{
return $request->user()->hasVerifiedEmail()
? redirect($this->redirectPath())
: view('auth.verify');
}
protected function redirectTo(){
if(session()->get("redirect_after_email_verification")){
return session()->get("redirect_after_email_verification");
}
return $this->redirectTo;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.