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 16 PHP
JoshChen_web格式编码UTF8-无BOM的小细节分析
Aug 16 PHP
关于php支持分块与断点续传文件下载功能代码
May 09 PHP
如何让thinkphp在模型中自动完成session赋值小教程
Sep 05 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
May 12 PHP
Joomla使用Apache重写模式的方法
May 04 PHP
thinkPHP内置字符串截取函数用法详解
Nov 15 PHP
PHP合并数组的2种方法小结
Nov 24 PHP
Laravel多域名下字段验证的方法
Apr 04 PHP
PHP利用百度ai实现文本和图片审核
May 08 PHP
PHP常见的序列化与反序列化操作实例分析
Oct 28 PHP
详解PHP用mb_string处理windows中文字符
May 26 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和mysql的简单的dao类实现crud操作功能
2014/01/27 PHP
php针对cookie操作的队列操作类实例
2014/12/10 PHP
如何用PHP来实现一个动态Web服务器
2015/07/29 PHP
Laravel框架模板继承操作示例
2018/06/11 PHP
Smarty模板类内部原理实例分析
2019/07/03 PHP
ThinkPHP5.1验证码功能实现的示例代码
2020/06/08 PHP
JavaScript插入动态样式实现代码
2012/02/22 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
2014/05/02 Javascript
使用impress.js制作幻灯片
2015/09/09 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
JavaScript接口的实现三种方式(推荐)
2016/06/14 Javascript
浅谈js的url解析函数封装
2016/06/28 Javascript
JS查找字符串中出现最多的字符及个数统计
2017/02/04 Javascript
js中bool值的转换及“&&”、“||”、 “!!”详解
2017/12/21 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
2018/08/08 jQuery
bootstrap下拉框动态赋值方法
2018/08/10 Javascript
解决vue 项目引入字体图标报错、不显示等问题
2018/09/01 Javascript
JavaScript ES6箭头函数使用指南
2018/12/30 Javascript
js的各种数据类型判断的介绍
2019/01/19 Javascript
利用JavaScript的Map提升性能的方法详解
2019/08/14 Javascript
vue3.0 自适应不同分辨率电脑的操作
2021/02/06 Vue.js
[38:51]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-CDEC
2014/05/22 DOTA
python获取豆瓣电影简介代码分享
2014/01/16 Python
python-opencv在有噪音的情况下提取图像的轮廓实例
2017/08/30 Python
用Python写王者荣耀刷金币脚本
2017/12/21 Python
windows下Pycharm安装opencv的多种方法
2020/03/05 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
2020/03/24 Python
Django用内置方法实现简单搜索功能的方法
2020/12/18 Python
HTML5实现桌面通知 提示功能
2017/10/11 HTML / CSS
学生实习推荐信范文
2013/11/26 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
音乐之声音乐广播稿
2014/09/10 职场文书
土地转让协议书
2014/09/27 职场文书
运动会广播稿50字-100字
2014/10/11 职场文书
2015年工程部工作总结
2015/04/30 职场文书
python机器学习实现oneR算法(以鸢尾data为例)
2022/03/03 Python