当用户在我的Laravel网站上注册时,它会自动将他们带到仪表板上(这正是我想要的(。然而,我为一个特定的页面创建了中间件,将访客用户重定向到注册页面。注册完成后,我希望用户在被中间件重定向之前被重定向回他们试图访问的特定页面。如果用户没有被这个特定的中间件重定向,我仍然希望默认页面是用户注册后的仪表板。
寄存器控制器:
protected $redirectTo = 'dashboard';
public function redirectTo(){
return redirect()->intended($this->redirectTo)->getTargetUrl();
}
中间件:
public function handle($request, Closure $next)
{
if (auth()->guest()) {
return redirect()->route('register');
}
return $next($request);
}
您可以尝试设置;预定URL";通过使用重定向器的CCD_ 1方法;创建一个新的重定向响应,同时将当前URL放入会话中":
return redirect()->guest(route('register'));
对我来说,这非常适合
class RegisterController extends Controller {
protected function redirectTo()
{
if (session('url.intended')) {
return session('url.intended');
}
return '/';
}
...
}