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 的 __FILE__ 常量
Jan 15 PHP
php设计模式 Bridge (桥接模式)
Jun 26 PHP
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
Jul 02 PHP
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
Jun 02 PHP
memcache一致性hash的php实现方法
Mar 05 PHP
php中ob函数缓冲机制深入理解
Aug 03 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
Dec 09 PHP
基于php流程控制语句和循环控制语句(讲解)
Oct 23 PHP
php微信公众号开发之答题连闯三关
Oct 20 PHP
PHP Pipeline 实现中间件的示例代码
Apr 26 PHP
PHP高并发和大流量解决方案整理
Mar 09 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统计文件大小,以GB、MB、KB、B输出
2011/05/29 PHP
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
2014/11/03 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
ThinkPHP5 的简单搭建和使用详解
2018/11/15 PHP
php实现文章评论系统
2019/02/18 PHP
javascript 避免闭包引发的问题
2009/03/17 Javascript
Chrome Form多次提交表单问题的解决方法
2011/05/09 Javascript
详谈JavaScript 匿名函数及闭包
2014/11/14 Javascript
原生js实现移动开发轮播图、相册滑动特效
2015/04/17 Javascript
总结JavaScript设计模式编程中的享元模式使用
2016/05/21 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
DOM中事件处理概览与原理的全面解析
2016/08/16 Javascript
AngularJS  双向数据绑定详解简单实例
2016/10/20 Javascript
js输入框使用正则表达式校验输入内容的实例
2017/02/12 Javascript
node.js 抓取代理ip实例代码
2017/04/30 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
2017/10/15 jQuery
vue的常用组件操作方法应用分析
2018/04/13 Javascript
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
javascript实现贪吃蛇小练习
2020/07/05 Javascript
python 简单的绘图工具turtle使用详解
2017/06/21 Python
Flask框架响应、调度方法和蓝图操作实例分析
2018/07/24 Python
python实现蒙特卡罗方法教程
2019/01/28 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
2019/08/30 Python
Python搭建代理IP池实现检测IP的方法
2019/10/27 Python
Django重设Admin密码过程解析
2020/02/10 Python
python opencv进行图像拼接
2020/03/27 Python
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
致跳远运动员加油稿
2014/02/11 职场文书
担保书怎么写
2014/04/01 职场文书
2015年“七七卢沟桥事变”纪念活动总结
2015/03/24 职场文书
2016年五一国际劳动节活动总结
2016/04/06 职场文书
postgresql无序uuid性能测试及对数据库的影响
2021/06/11 PostgreSQL
vue项目中的支付功能实现(微信支付和支付宝支付)
2022/02/18 Vue.js
Python绘画好看的星空图
2022/03/17 Python
CI Games宣布《堕落之王2》使用虚幻引擎5制作 预计将于2023年正式发售
2022/04/11 其他游戏