场景:
用户浏览网站并登录后,喜欢返回到登陆前的网页
解决:
其实各个框架都可以这样实现,通过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();
}