如何在登录laravel 6后重定向到上一页

如何在登录laravel 6后重定向到上一页,laravel,laravel-6,Laravel,Laravel 6,我想在登录到Laravel 6后重定向到上一页。我不知道在LoginController类中要更改什么 类登录控制器扩展控制器 { 使用认证用户; 受保护的$redirectTo=RouteServiceProvider::HOME; 公共函数构造() { $this->middleware('guest')->除了('logout'); } 公共函数showloginfo() { $data=数组( “标题”=>“签名”, '说明'=>'登录', “seo_关键字”=>“登录” ); 返回视图

我想在登录到Laravel 6后重定向到上一页。我不知道在
LoginController
类中要更改什么

类登录控制器扩展控制器
{
使用认证用户;
受保护的$redirectTo=RouteServiceProvider::HOME;
公共函数构造()
{
$this->middleware('guest')->除了('logout');
}
公共函数showloginfo()
{
$data=数组(
“标题”=>“签名”,
'说明'=>'登录',
“seo_关键字”=>“登录”
);
返回视图('auth/login',$data);
}
}

首先,您必须在这样的会话中存储上一个URL

public function showLoginForm()
    {
       $data = array(
         'title'=>'Signin',
         'description'=> 'Login',
         'seo_keywords'=> 'Signin'
       );

        if (session('link')) {
            $myPath = session('link');
            $loginPath = url('/login');
            $previous = url()->previous();

            if ($previous = $loginPath) {
                session(['link' => $myPath]);
            } else {
                session(['link' => $previous]);
            }
        } else {
            session(['link' => url()->previous()]);
        }

        return view('auth/login',$data);
    }
然后在登录后重定向到此URL

protected function redirectTo()
    {
        if (session('link')) {
            return session('link');
        }

        return property_exists($this, 'redirectTo') ? $this->redirectTo : '/dashboard';
    }

我认为这将解决您的问题。

首先,您必须在这样的会话中存储以前的URL

public function showLoginForm()
    {
       $data = array(
         'title'=>'Signin',
         'description'=> 'Login',
         'seo_keywords'=> 'Signin'
       );

        if (session('link')) {
            $myPath = session('link');
            $loginPath = url('/login');
            $previous = url()->previous();

            if ($previous = $loginPath) {
                session(['link' => $myPath]);
            } else {
                session(['link' => $previous]);
            }
        } else {
            session(['link' => url()->previous()]);
        }

        return view('auth/login',$data);
    }
然后在登录后重定向到此URL

protected function redirectTo()
    {
        if (session('link')) {
            return session('link');
        }

        return property_exists($this, 'redirectTo') ? $this->redirectTo : '/dashboard';
    }

我认为这将解决您的问题。

如果您希望在LoginController中的登录方法中进行一些自定义,那么您必须在登录控制器中进行一些自定义。请参阅下面的代码

public function showLoginForm()
{
    $data = array(
    'title'=>'Signin',
    'description'=> 'Login',
    'seo_keywords'=> 'Signin'
   );

    session(['previous' => url()->previous()]);
    return view('auth.login');
}


protected function authenticated(Request $request, $user)
{
    return redirect(session('previous'));
}

如果您希望在LoginController中的登录方法中进行一些自定义,那么您必须在登录控制器中进行一些自定义。请参阅下面的代码

public function showLoginForm()
{
    $data = array(
    'title'=>'Signin',
    'description'=> 'Login',
    'seo_keywords'=> 'Signin'
   );

    session(['previous' => url()->previous()]);
    return view('auth.login');
}


protected function authenticated(Request $request, $user)
{
    return redirect(session('previous'));
}

为什么上一页?不转到下一页?假设我在url.com/my-first-blog上,并且在该页上,当用户单击评论页时,他/她将重定向到登录/注册页,用户希望在该页上发表评论。现在,成功登录后,他/她应该返回此url url.com/my-first-blog,在成功登录后在该页面上发表评论。您只需添加查询参数
login?next=/my first blog
,并在成功登录后将其带到
/my first blog
。使用助手?@kerbholz how??为什么是上一页?不转到下一页?假设我在url.com/my-first-blog上,并且在该页上,当用户单击评论页时,他/她将重定向到登录/注册页,用户希望在该页上发表评论。现在,成功登录后,他/她应该返回此url url.com/my-first-blog,在成功登录后在该页面上发表评论。您可以添加查询参数
login?next=/my-first-blog
,并在成功登录后将其带到
/my-first-blog
。使用助手?@kerbholz how??