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 array_flip() 删除数组重复元素
Jan 14 PHP
两个强悍的php 图像处理类1
Jun 15 PHP
Discuz Uchome ajaxpost小技巧
Jan 04 PHP
thinkphp的CURD和查询方式介绍
Dec 19 PHP
测试php连接mysql是否成功的代码分享
Jan 24 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
Jan 26 PHP
排序算法之PHP版快速排序、冒泡排序
Apr 09 PHP
PHP中new static()与new self()的区别异同分析
Aug 22 PHP
thinkphp中html:list标签传递多个参数实例
Oct 30 PHP
php判断并删除空目录及空子目录的方法
Feb 11 PHP
基于php流程控制语句和循环控制语句(讲解)
Oct 23 PHP
PHP 数组操作详解【遍历、指针、函数等】
May 13 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
使用XDebug调试及单元测试覆盖率分析
2011/01/27 PHP
php实现TCP端口检测的方法
2015/04/01 PHP
[原创]PHP字符串中插入子字符串方法总结
2016/05/06 PHP
laravel框架添加数据,显示数据,返回成功值的方法
2019/10/11 PHP
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
jQuery 开发者应该注意的9个错误
2012/05/03 Javascript
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
2013/01/24 Javascript
jquery解析XML字符串和XML文件的方法说明
2014/02/21 Javascript
Javascript获取当前日期的农历日期代码
2014/10/08 Javascript
JavaScript中判断整字类型最简洁的实现方法
2014/11/08 Javascript
JavaScript搜索字符串并将搜索结果返回到字符串的方法
2015/04/06 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
Nodejs之http的表单提交
2017/07/07 NodeJs
angularjs中$http异步上传Excel文件方法
2018/02/23 Javascript
vue中使用cookies和crypto-js实现记住密码和加密的方法
2018/10/18 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
JavaScript实现随机点名小程序
2020/10/29 Javascript
[02:26]2018DOTA2亚洲邀请赛赛前采访-Newbee篇
2018/04/03 DOTA
python定时采集摄像头图像上传ftp服务器功能实现
2013/12/23 Python
用Python展示动态规则法用以解决重叠子问题的示例
2015/04/02 Python
Python线程的两种编程方式
2015/04/14 Python
Python正则表达式知识汇总
2017/09/22 Python
在django中图片上传的格式校验及大小方法
2019/07/28 Python
Python中类似于jquery的pyquery库用法分析
2019/12/02 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
python中如何写类
2020/06/29 Python
python如何删除列为空的行
2020/07/17 Python
html5中audio支持音频格式的解决方法
2018/08/24 HTML / CSS
中文系师范生自荐信
2013/10/01 职场文书
关于青春的演讲稿800字
2014/08/22 职场文书
国家机关领导干部民主生活会对照检查材料思想汇报
2014/09/17 职场文书
店面出租协议书范本
2014/11/28 职场文书
皇城相府导游词
2015/02/06 职场文书
2015年毕业实习工作总结
2015/05/29 职场文书
创业计划书之蛋糕店
2019/08/29 职场文书
vue 自定义的组件绑定点击事件
2022/04/21 Vue.js