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实现WEB动态网页静态
Oct 09 PHP
php foreach、while性能比较
Oct 15 PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
Aug 22 PHP
php中通过数组进行高效随机抽取指定条记录的算法
Sep 09 PHP
php后门URL的防范
Nov 12 PHP
php三维数组去重(示例代码)
Nov 26 PHP
zend framework文件上传功能实例代码
Dec 25 PHP
php跨站攻击实例分析
Oct 28 PHP
PHP中__FILE__、dirname与basename用法实例分析
Dec 01 PHP
PHP对文件夹递归执行chmod命令的方法
Jun 19 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
Oct 03 PHP
TP5框架实现一次选择多张图片并预览的方法示例
Apr 04 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
8个必备的PHP功能实例代码
2013/10/27 PHP
php实现上传图片生成缩略图示例
2014/04/13 PHP
php强制运行广告的方法
2014/12/01 PHP
ThinkPHP3.2.1图片验证码实现方法
2016/08/19 PHP
PHP实现15位身份证号转18位的方法分析
2019/10/16 PHP
php实现图片压缩处理
2020/09/09 PHP
求解开jscript.encode代码的asp函数
2007/02/28 Javascript
javascript生成/解析dom的CDATA类型的字段的代码
2007/04/22 Javascript
javascript String 的扩展方法集合
2008/06/01 Javascript
JS 按钮点击触发(兼容IE、火狐)
2013/08/07 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
2013/08/12 Javascript
利用cookie记住背景颜色示例代码
2013/11/04 Javascript
使用jQuery和PHP实现类似360功能开关效果
2014/02/12 Javascript
javascript中JSON对象与JSON字符串相互转换实例
2015/07/11 Javascript
设置点击文本框或图片弹出日历控件的实现代码
2016/05/12 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
2016/10/17 Javascript
js仿淘宝评价评分功能
2017/02/28 Javascript
原生JS实现小小的音乐播放器
2017/10/16 Javascript
canvas轨迹回放功能实现
2017/12/20 Javascript
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
2018/12/14 Javascript
Vue实现仿iPhone悬浮球的示例代码
2020/03/13 Javascript
Ajax获取node服务器数据的完整步骤
2020/09/20 Javascript
jQuery实现简单轮播图效果
2020/12/27 jQuery
Python中关于字符串对象的一些基础知识
2015/04/08 Python
Python遍历numpy数组的实例
2018/04/04 Python
利用Anaconda简单安装scrapy框架的方法
2018/06/13 Python
腾讯技术类校园招聘笔试试题
2014/05/06 面试题
试述DBMS的主要功能
2016/11/13 面试题
如何查看在weblogic中已经发布的EJB
2012/06/01 面试题
培训主管的岗位职责
2013/11/23 职场文书
门面房租房协议书
2014/08/20 职场文书
超市店庆活动方案
2014/08/31 职场文书
感恩教育观后感
2015/06/17 职场文书
2015年社区消防安全工作总结
2015/10/14 职场文书
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android
JavaScript实现酷炫的鼠标拖尾特效
2022/02/18 Javascript