当前位置: 首页 > 知识库问答 >
问题:

在Laravel 5中注销上一页后,如何在登录到上一页后重定向回上一页

钱星辰
2023-03-14

我正在使用Laravel 5.3,我这里有一个情况。。。我在第2页,从那里注销,然后重定向到登录页。现在,如果用户再次登录,我试图实现的是重定向回第2页。

当前的情况是,用户将被重定向到defaultAfterLogin页面,这不是我想要的登录流。

注意:登录后的默认页面为"DashBoard"。

如果您第一次进入第2页(不是默认的仪表板页面),并且如果您未登录,您将被重定向到登录页面,那么如果您再次登录,您将被重定向回第2页,这是可以的。

但现在发生的是,当你在第2页,然后你注销,然后你将被重定向到登录页面,如果你再次登录,你将被重定向到“仪表板”,这不是我想要的。它应该重定向回第2页

流程应该是,。。。无论用户以前使用的是哪个页面,登录后都会重定向用户。

下面是我正在使用的一个示例脚本(它实际上来自laravel,我正在使用它的内置Auth)

protected function handleUserWasAuthenticated(Request $request, $throttles)
    {
        if ($throttles) {
            $this->clearLoginAttempts($request);
        }

        if (method_exists($this, 'authenticated')) {
            return $this->authenticated($request, Auth::guard($this->getGuard())->user());
        }

        return redirect()->intended($this->redirectPath());
    }

有什么想法吗?非常感谢你的帮助。

共有3个答案

宋景福
2023-03-14

你可以使用这个代码

       return redirect()->back();

你可以使用路由,在你的路由中,你需要配置,在控制器中,你可以把下面的代码//这是你的路由

Route::get('/dashboard',[
'uses' => 'PostController@dashboard',
'as' => 'dashboard',
'middleware' => 'auth'
]);

//将其放入控制器返回重定向()中-

邢冷勋
2023-03-14

打开AuthController类:app/Http/Controllers/Auth/AuthController。php

将下面的属性添加到类中

protected $redirectAfterLogout = 'auth/login';

您可以使用任何url更改身份验证/登录。

岳彬炳
2023-03-14

在身份验证中间件上尝试以下操作:app/http/middleware/RedirectIfAuthenticated

//将用户重定向到您的登录页面"/log"

public function handle($request, Closure $next)
{
  if ($this->auth->check()) {
    return redirect('/login');
  }

  return $next($request);
}

//这是您的登录方法

public function postSignIn(Request $request)
  { 
    $request_data = $request->all();
    $email = $request_data['email'];
    $user_details = User::where('email', $email)->first();
    if(count($user_details) > 0)
    {
      $credentials = array('email'=> $email ,'password'=> $request_data['password']);        
      if ($this->auth->attempt($credentials, $request->has('remember')))
      {
        return redirect()->to('/dashboard'); //Here is your redirect url, redirect to dashbord
          OR
        return redirect()->to('/page2'); //Here is your redirect url, redirect to page2
      }
      else
      {
        $error = array('password' => 'Please enter a correct password');
        return redirect()->back()->withErrors($error); 
      }
    }
    else
    {
      $error = array('password' => 'User not found');
      return redirect()->back()->withErrors($error);  
    }
  }
 类似资料:
  • 我正在处理一项要求,即在记录更新/插入后发送电子邮件,其中我将页面URL作为“单击此处”文本发送,当用户单击该链接时,无论用户是否登录,他都将被重定向到该页面。 现在,如果用户已经登录,则该页面将正常打开,但如果用户未登录,则需要在登录后重定向回上一页。 我的问题在这里是我无法重定向回上一页用户试图访问之前登录通过点击这里链接从电子邮件 我已经找到了一些解决方案,但它们都不起作用。我尝试过的解决方

  • 问题内容: 我正在尝试建立一个简单的网站,其登录功能与SO上的登录功能非常相似。用户应该能够以匿名用户的身份浏览网站,并且每个页面上都会有一个登录链接。当单击登录链接时,用户将被带到登录表单。成功登录后,应将用户带回到他首先单击登录链接的页面。我猜想我必须以某种方式将当前页面的url传递给处理登录表单的视图,但是我真的无法使其正常工作。 编辑:我想通了。我通过将当前页面作为GET参数传递来链接到登

  • 在Woocommerce for WordPress上,当您在产品页面上单击登录时,当您登录时,您将从您的帐户重定向到仪表板页面,而不是之前阅读的页面。 我正在尝试这样做,在登录前重定向到上一页,如果我的站点上没有上一页,则重定向到主页。 我已经试过了,但每次我都被重定向到主页。 有什么想法吗?

  • 我有一个页面,上面有一些内容和评论部分。评论只能由已登录的用户留下,因此我在页面中添加了一个登录表单供用户登录(仅当用户尚未登录时显示)。 我的问题是,当用户登录时,他们会被重定向回主页,而不是他们以前所在的页面。 我没有更改开箱即用设置的登录方法。 任何人都可以建议一个简单的方法来设置重定向url。我的想法是,能够将其设置为表单会很好。

  • 问题内容: 我一直在寻找解决方案,但无论尝试如何,似乎都无法正确解决。 成功登录后,应该将用户重定向到他来自的页面,假设他一直在浏览帖子,并且想要登录以便可以发表评论,因此应该将他重定向到他正在浏览的帖子。所以这是我所拥有的: login.php 显示登录表单: 在 登录-check.php 检查用户名和传球被输入,的确用户存在,或者如果他已经登录,并且参数发送给login.php中: 然后将参数

  • 问题内容: 我知道之前曾有人问过这个问题,但是我在这里面临一个特殊的问题。 我使用Spring Security 3.1.3。 我的Web应用程序中有3种可能的登录案例: 通过登录页面登录:确定。 通过受限页面登录:也可以。 通过非受限页面登录:不好,…每个人都可以访问“产品”页面,并且用户可以在登录后发表评论。因此,同一页面中包含一个登录表单,以允许用户进行连接。 情况3)的问题是我无法设法将用