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 相关文章推荐
php对大文件进行读取操作的实现代码
Jan 23 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
Jul 01 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
Aug 10 PHP
php加密解密实用类分享
Jan 07 PHP
PHP中使用CURL获取页面title例子
Jan 07 PHP
windows下安装php的memcache模块的方法
Apr 07 PHP
PHP之正则表达式捕获组与非捕获组(详解)
Jul 29 PHP
PHP编程开发怎么提高编程效率 提高PHP编程技术
Nov 09 PHP
thinkphp微信开发(消息加密解密)
Dec 02 PHP
Zend Framework教程之Zend_Db_Table用法详解
Mar 21 PHP
thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法
May 19 PHP
Laravel-添加后台模板AdminLte的实现方法
Oct 08 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和AJAX创建RSS聚合器的代码
2007/03/13 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
2013/06/27 PHP
帝国cms常用标签汇总
2015/07/06 PHP
PHP获取链表中倒数第K个节点的方法
2018/01/18 PHP
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
jquery实现加载等待效果示例
2013/09/25 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
利用js判断浏览器类型(是否为IE,Firefox,Opera浏览器)
2013/11/22 Javascript
jquery each的几种常用的使用方法示例
2014/01/21 Javascript
javascript定义变量时有var和没有var的区别探讨
2014/07/21 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
js编写三级联动简单案例
2016/12/21 Javascript
jQuery Validate表单验证插件的基本使用方法及功能拓展
2017/01/04 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
ReactNative Image组件使用详解
2017/08/07 Javascript
React Native使用百度Echarts显示图表的示例代码
2017/11/07 Javascript
ES6基础之展开语法(Spread syntax)
2019/02/21 Javascript
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
在nodejs中创建child process的方法
2021/01/26 NodeJs
[01:33:14]LGD vs VP Supermajor 败者组决赛 BO3 第二场 6.10
2018/07/04 DOTA
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
python中的for循环
2018/09/28 Python
python 获取键盘输入,同时有超时的功能示例
2018/11/13 Python
PyQT5 QTableView显示绑定数据的实例详解
2019/06/25 Python
Python+opencv+pyaudio实现带声音屏幕录制
2019/12/23 Python
Python模块future用法原理详解
2020/01/20 Python
简单了解如何封装自己的Python包
2020/07/08 Python
Python操作MySQL数据库的示例代码
2020/07/13 Python
Oasis服装官网:时尚女装在线
2020/07/09 全球购物
2013年办公室秘书的个人自我鉴定
2013/10/24 职场文书
酒店公关部经理岗位职责
2013/11/24 职场文书
部队党性分析材料
2014/02/16 职场文书
群众路线教育实践活动剖析材料
2014/09/30 职场文书
《改造我们的学习》心得体会
2014/11/07 职场文书