登录/注册后,将用户重定向到特定的部分/ div

时间:2018-01-02 12:04:49

标签: php laravel

假设用户正在查看页面的某些部分而他没有登录。他不是通过页面中给出的链接登录。如何将用户重定向到他正在阅读的特定部分。

注意:我已将用户重定向到初始页面,但仍无法重定向到特定部分。

2 个答案:

答案 0 :(得分:2)

使用intended()方法:

return redirect()->intended();

此方法从会话中读取url.intended值,如果存在,则该方法会将用户重定向到此URL。如果没有,默认情况下会将用户重定向到/

要使其与部分一起使用,请使用JS获取完整的URL:

window.location.href

然后你可以进行AJAX调用,用以下方法手动将当前URL保存到会话中:

session(['url.intended' => url()->full()])

或者您可以将其放入隐藏的输入中,然后在LoginController中从请求中获取并将其保存到会话中。

答案 1 :(得分:0)

我这样做的方式:

copyWithin我更新句柄函数,如下所示:

App\Http\Middleware\Authenticate.php

重要的部分是public function handle($request, Closure $next) { if ($this->auth->guest()) { if ($request->ajax()) { return response('Unauthorized.', 401); } else { return redirect('login')->with(['lastUrl' => $request->url()]); } } return $next($request); } 。这样我就可以在登录前获得用户试图访问的目标网址,所以当我登录时,我只是将用户重定向到他试图访问的网址。

如果用户没有尝试访问任何页面,他只是被重定向到默认的欢迎页面。