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读写文件的方法(生成HTML)
Nov 27 PHP
php中使用explode查找某个字符是否存在的方法
Jul 12 PHP
PHP Undefined index报错的修复方法
Jul 17 PHP
10条PHP高级技巧[修正版]
Aug 02 PHP
php中convert_uuencode()与convert_uuencode函数用法实例
Nov 22 PHP
PHP类相关知识点实例总结
Sep 28 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
Mar 23 PHP
POST一个JSON格式的数据给Restful服务实例详解
Apr 07 PHP
阿里云PHP SMS短信服务验证码发送方法
Jul 11 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 PHP
Laravel配置全局公共函数的方法步骤
May 09 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
Oct 18 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
投票管理程序
2006/10/09 PHP
调整PHP的性能
2013/10/30 PHP
一个严格的PHP Session会话超时时间设置方法
2014/06/10 PHP
php实现图片等比例缩放代码
2015/07/23 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
php设计模式之中介者模式分析【星际争霸游戏案例】
2020/03/23 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
Javascript 刷新全集常用代码
2009/11/22 Javascript
细说浏览器特性检测(2)-通用事件检测
2010/11/05 Javascript
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
2013/03/06 Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
2013/12/23 Javascript
Nodejs实现的一个静态服务器实例
2014/12/06 NodeJs
详解JavaScript UTC时间转换方法
2016/01/07 Javascript
jQuery设置聚焦并使光标位置在文字最后的实现方法
2016/08/02 Javascript
解析如何利用iframe标签以及js制作时钟
2016/12/08 Javascript
JS弹性运动实现方法分析
2016/12/15 Javascript
AjaxUpLoad.js实现文件上传
2018/03/05 Javascript
layui table设置某一行的字体颜色方法
2019/09/05 Javascript
[04:05]TI9战队采访 - Natus Vincere
2019/08/22 DOTA
Python的Flask框架中实现简单的登录功能的教程
2015/04/20 Python
初步讲解Python中的元组概念
2015/05/21 Python
python正则表达式re之compile函数解析
2017/10/25 Python
Python如何访问字符串中的值
2020/02/09 Python
Python restful框架接口开发实现
2020/04/13 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
2020/08/07 Python
Python Web项目Cherrypy使用方法镜像
2020/11/05 Python
HTML5 拖放功能实现代码
2016/07/14 HTML / CSS
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
ASP.NET中的身份验证有那些
2012/07/13 面试题
母亲节感恩寄语
2014/02/21 职场文书
2014年教师节寄语
2014/04/03 职场文书
公路绿化方案
2014/05/12 职场文书
反对邪教标语
2014/06/30 职场文书
优秀教师推荐材料
2014/12/16 职场文书
Go语言基础切片的创建及初始化示例详解
2021/11/17 Golang
Win11 S Mode版本泄露 正式上线后叫做Windows 11 SE
2021/11/21 数码科技