laravel 返回登陆前浏览的页面实现(登录重构后的登录跳转)
2018-02-23 18:07
781 查看
场景:
用户浏览网站并登录后,喜欢返回到登陆前的网页
解决:
其实各个框架都可以这样实现, 通过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();
}
用户浏览网站并登录后,喜欢返回到登陆前的网页
解决:
其实各个框架都可以这样实现, 通过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();
}
相关文章推荐
- 在jsp中怎么实现登录后自动跳转到登陆前浏览页面
- spring boot security 实现登陆时ajax请求返回json,而不是直接页面跳转
- Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
- struts2拦截器实现session超时返回登录页面(iframe下跳转到其父页面)
- 学习札记——JSP实现登陆后返回历史浏览页面
- filter实现登录验证,并实现页面跳转到登录前浏览的页面(同步异步皆可)
- 在Struts2中实现登陆后跳转到登录前页面
- 在Struts2中实现登陆后跳转到登录前页面
- Spring Security4.1.3实现拦截登录后向登录页面跳转方式(redirect或forward)返回被拦截界面
- 在Struts2中实现登陆后跳转到登录前页面
- Spring Security4.1.3实现拦截登录后向登录页面跳转方式(redirect或forward)返回被拦截界面
- 织梦系统DedeCMS设定栏目及文档权限登录后跳转到登陆前的页面的实现方法
- Spring Security4.1.3实现拦截登录后向登录页面跳转方式(redirect或forward)返回被拦截界面
- 在Struts2中实现登陆后跳转到登录前页面
- 在Struts2中实现登陆后跳转到登录前页面
- 前台ajax重写方法搭配后台filter返回status实现ajax请求跳转登录页面
- 如何通过html标记或js代码实现跳转返回页面顶部
- iOS 实现点击tabbar跳转登录页面
- laravel使用中间件实现禁止未登录用户访问页面
- 登录成功后跳转回登录前的页面,实现思路