laravel 5.3 单用户登录简单实现方法


Posted in PHP onOctober 14, 2019

需求描述

当前用户只能在一个地方登录,即同一账号不能再2个以上窗口登录,后登录者踢出前登录者。

设计思路

在用户数据表中新增1个字段,记录当前登录用的session_id,当用户登录的时候把session_id存储到数据库中,然后在中间件认证里加判断,判断当前用户sesson_id是否和数据库中的session_id相等,如果相等继续向下执行,反之注销登录。

具体实现

1.首先在用户表中新增字段last_session,类型CHAR 40长度

2.在AuthController 控制器中实现父类方法authenticated方法,目的保存当前用户的session_id到数据库中。

protected function authenticated($request,$user){
    $user->last_session = Session::getId();
    $user->save();
    return redirect()->intended($this->redirectPath());
  }

3.在Authenticate中间中加入判断代码

if(Session::getId() != Auth::guard($guard)->user()->last_session){
      return redirect('/admin/logout');}

也可以在判断代码块中加入其它,如提示当前账号在其它地方登录,然后注销当前登录等。

以上这篇laravel 5.3 单用户登录简单实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
一个目录遍历函数
Oct 09 PHP
php UTF8 文件的签名问题
Oct 30 PHP
php的ajax框架xajax入门与试用介绍
Dec 19 PHP
php若干单维数组遍历方法的比较
Sep 20 PHP
深入PHP中慎用双等于(==)的详解
Jun 06 PHP
微信公众平台实现获取用户OpenID的方法
Apr 15 PHP
反射调用private方法实践(php、java)
Dec 21 PHP
注释PHP和html混合代码的小技巧(分享)
Nov 03 PHP
PHP调用API接口实现天气查询功能的示例
Sep 21 PHP
浅谈PHP实现大流量下抢购方案
Dec 15 PHP
PHP实现对图片的反色处理功能【测试可用】
Feb 01 PHP
php常用字符串查找函数strstr()与strpos()实例分析
Jun 21 PHP
在laravel5.2中实现点击用户头像更改头像的方法
Oct 14 #PHP
Yii框架数据库查询、增加、删除操作示例
Oct 14 #PHP
laravel框架上传图片实现实时预览功能
Oct 14 #PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
Oct 14 #PHP
yii框架数据库关联查询操作示例
Oct 14 #PHP
laravel实现上传图片并在页面显示的例子
Oct 14 #PHP
Thinkphp5.0 框架的请求方式与响应方式分析
Oct 14 #PHP
You might like
PHP中几个可以提高运行效率的代码写法、技巧分享
2014/08/21 PHP
php实现俄罗斯乘法实例
2015/03/07 PHP
Zend Framework入门应用实例详解
2016/12/11 PHP
PHP-CGI远程代码执行漏洞分析与防范
2017/05/07 PHP
PHP实现的文件上传类与用法详解
2017/07/05 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
用Javascript实现锚点(Anchor)间平滑跳转
2009/09/08 Javascript
从零开始学习jQuery (六) jquery中的AJAX使用
2011/02/23 Javascript
javascript实现根据3原色制作颜色选择器的方法
2015/07/17 Javascript
jQuery实现带幻灯的tab滑动切换风格菜单代码
2015/08/27 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
2016/05/17 Javascript
详解angular中通过$location获取路径(参数)的写法
2017/03/21 Javascript
nodejs创建简易web服务器与文件读写的实例
2017/09/07 NodeJs
JavaScript模拟实现自由落体效果
2018/08/28 Javascript
微信小程序支付前端源码
2018/08/29 Javascript
详解npm 配置项registry修改为淘宝镜像
2018/09/07 Javascript
简单了解小程序+node梳理登陆流程
2019/06/24 Javascript
nodejs dgram模块广播+组播的实现示例
2019/11/04 NodeJs
关于vue里页面的缓存详解
2019/11/04 Javascript
[01:15:44]首部DOTA2纪录片今日23时全网上映
2014/03/19 DOTA
[04:49]2014DOTA2国际邀请赛 Newbee顺利挺进总决赛 ImbaTV独家专访
2014/07/19 DOTA
Python获取邮件地址的方法
2015/07/10 Python
Python中列表和元组的使用方法和区别详解
2020/12/30 Python
浅析python递归函数和河内塔问题
2017/04/18 Python
使用Python实现一个栈判断括号是否平衡
2018/08/23 Python
使用python将请求的requests headers参数格式化方法
2019/01/02 Python
python 定时器每天就执行一次的实现代码
2019/08/14 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
python爬取本站电子书信息并入库的实现代码
2020/01/20 Python
pycharm配置python 设置pip安装源为豆瓣源
2021/02/05 Python
CSS3实现多样的边框效果
2018/05/04 HTML / CSS
低碳生活倡议书
2014/04/14 职场文书
优秀护士事迹材料
2014/12/25 职场文书
Pyhton模块和包相关知识总结
2021/05/12 Python