场景:
用户浏览并登录后,喜欢返回到登陆前的网页
解决:
其实各个框架都可以这样实现, 通过Session
原理: 通过session记录当前账户浏览的uri , 在自定义的页面跳转过去就ok了
1. 在公用模板中做下面的操作
{{-- 登录返回之前浏览的页面,这里的逻辑自定义就好 --}} @if (!\Auth::check() && strpos(\Request::getRequestUri(), 'discussions')!==false) {!! \Session::put('redirect_url', \Request::getRequestUri()) !!} @endif
2. 在定义的登录处做下面的操作
public function sign(UserLoginRequest $request) { $attempt = [ 'email' => $request->get('email'), 'password' => $request->get('password'), 'is_confirmed' => 1 ]; if (\Auth::attempt($attempt)) { // 跳转到登陆之前的页面 if (\Session::has('redirect_url')) { $redirect_url = \Session::get('redirect_url'); \Session::forget('redirect_url'); return redirect($redirect_url); } return redirect('/'); } \Session::flash('user_login_failed', '密码不正确或者邮箱没有验证'); return redirect('/login')->withInput(); }