Laravel 5.4重新登录实现跳转到登录前页面的原理和方法

发布时间 - 2026-01-11 02:19:08    点击率:

前言

本文主要给大家介绍的是关于Laravel5.4重新登录跳转到登录前页面的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍:

一、应用场景:

用户登陆后存在过期时间,超时用户需重新登录。例:当用户在/user/2 页面,登陆过期后跳转到登陆页面,登陆后用户还应在/user/2而不是home/index。

二、实现原理

在判断用户过期后,存储用户当前的url地址到session中,下次登陆后跳转到此url地址。

三、laravel中的具体实现

路由中间件(判断登陆状态) 这里以cookie是否过期判断用户登陆状态,中间件只判断登陆相关判断和执行,不做多余操作(登录时我使用cookie的值$token作为session的键存储),代码如下:

public function handle($request, Closure $next) {
 //判断cookie是否存在
 if ($token = Cookie::get('token')) {
 //判断session信息,保持状态一致
 if ($request->session()->get($token)) {
  return $next($request);
 }
 }

 //获取当前url,跳转到登陆页
 $returnUrl = urlencode($request->getRequestUri());

 return redirect('/login?reurl=' . $returnUrl); }

登陆端(处理与页面交互以及跳转逻辑)这里做的是跳转到登陆页,这个可以在中间件实现,只有这一句,with实现的是将reurl闪存,提供前端使用。

return redirect('/')->with('reurl', $returnUrl); 

页面端(判断闪存信息) 判断闪存的信息,这里分ajax和submit登陆,submit应该很少了,ajax下获取reurl,然后后端登陆判断reurl。

 @if (session('reurl'))
  <input type="hidden" name="reurl" value="{{ session('reurl') }}"/>
 @endif 

登陆(登陆逻辑) 省略了判断用户账户密码,和存储cookie,session的逻辑,最后前端获取url,location.href = 'url',跳转到原url地址。

$reurl = $request->get('reurl');

$url = empty($reurl) ? '/home/index' : $reurl;

return response($url);

注:本文只贴出了实现重新登录的相关代码,实际代码请按照实际业务做对应修改。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# laravel跳转指定页面  # laravel  # 页面跳转  # laravel5.4  # 登录  # laravel 解决强制跳转 https的问题  # Laravel重定向  # a链接跳转  # 控制器跳转示例  # Laravel 微信小程序后端实现用户登录的示例代码  # laravel利用中间件防止未登录用户直接访问后台的方法  # Laravel 自带的Auth验证登录方法  # Laravel实现登录跳转功能  # 的是  # 跳转到  # 跳转  # 用户登陆  # 期后  # 这一  # 相关内容  # 给大家  # 不做  # 应在  # 这篇文章  # 谢谢大家  # 多说  # 到此  # 贴出  # 是否存在  # 而不是  # 后端  # 下次  # 有疑问 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: UC浏览器如何设置启动页 UC浏览器启动页设置方法  如何快速生成橙子建站落地页链接?  iOS正则表达式验证手机号、邮箱、身份证号等  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  Laravel如何实现API资源集合?(Resource Collection教程)  香港服务器如何优化才能显著提升网站加载速度?  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  如何在腾讯云服务器快速搭建个人网站?  php 三元运算符实例详细介绍  微信小程序 wx.uploadFile无法上传解决办法  如何在万网自助建站平台快速创建网站?  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  如何在云服务器上快速搭建个人网站?  Laravel如何为API编写文档_Laravel API文档生成与维护方法  焦点电影公司作品,电影焦点结局是什么?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  如何做网站制作流程,*游戏网站怎么搭建?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  如何在阿里云虚拟服务器快速搭建网站?  如何快速搭建FTP站点实现文件共享?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  千库网官网入口推荐 千库网设计创意平台入口  Laravel如何为API生成Swagger或OpenAPI文档  如何注册花生壳免费域名并搭建个人网站?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  独立制作一个网站多少钱,建立网站需要花多少钱?  Laravel怎么在Blade中安全地输出原始HTML内容  香港服务器选型指南:免备案配置与高效建站方案解析  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何用花生壳三步快速搭建专属网站?  进行网站优化必须要坚持的四大原则  iOS中将个别页面强制横屏其他页面竖屏  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  如何为不同团队 ID 动态生成多个非值班状态按钮  LinuxCD持续部署教程_自动发布与回滚机制  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  如何确保西部建站助手FTP传输的安全性?  浅谈redis在项目中的应用