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中for循环语句的几种变型
Nov 26 PHP
基于php设计模式中单例模式的应用分析
May 15 PHP
PHP实现变色验证码实例
Jan 06 PHP
php中current、next与reset函数用法实例
Nov 17 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
Nov 19 PHP
PHP间隔一段时间执行代码的方法
Dec 02 PHP
yii用户注册表单验证实例
Dec 26 PHP
PHP面向对象程序设计方法实例详解
Dec 24 PHP
CI(CodeIgniter)框架实现图片上传的方法
Mar 24 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
Sep 22 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
Oct 10 PHP
PhpSpreadsheet设置单元格常用操作汇总
Nov 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
ajax实现无刷新分页(php)
2010/07/18 PHP
php Smarty初体验二 获取配置信息
2011/08/08 PHP
解析php如何将日志写进syslog
2013/06/28 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
PHP实现提高SESSION响应速度的几种方法详解
2019/08/09 PHP
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
Knockoutjs的环境搭建教程
2012/11/26 Javascript
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
jQuery基于当前元素进行下一步的遍历
2014/05/20 Javascript
jquery.mobile 共同布局遇到的问题小结
2015/02/10 Javascript
Javascript核心读书有感之语句
2015/02/11 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
使用JS中的exec()方法构造正则表达式验证
2016/08/01 Javascript
谈谈JS中常遇到的浏览器兼容问题和解决方法
2016/12/17 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
2016/12/19 Javascript
基于Vue中点击组件外关闭组件的实现方法
2018/03/06 Javascript
JavaScript中发出HTTP请求最常用的方法
2018/07/12 Javascript
vue.js与后台数据交互的实例讲解
2018/08/08 Javascript
微信小程序功能之全屏滚动效果的实现代码
2018/11/22 Javascript
Quasar Input:type="number" 去掉上下小箭头 实现加减按钮样式功能
2020/04/09 Javascript
[52:37]完美世界DOTA2联赛循环赛 Forest vs DM BO2第一场 10.29
2020/10/29 DOTA
python网络编程学习笔记(一)
2014/06/09 Python
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
Python中eval带来的潜在风险代码分析
2017/12/11 Python
Tensorflow 实现分批量读取数据
2020/01/04 Python
Python暴力破解Mysql数据的示例
2020/11/09 Python
CSS3 Calc实现滚动条出现页面不跳动问题
2017/09/14 HTML / CSS
html table呈现个人简历以及单元格宽度失效的问题解决
2021/01/22 HTML / CSS
尤为Wconcept中国官网:韩国设计师品牌服饰
2019/01/10 全球购物
法制宣传月活动总结
2014/04/29 职场文书
关于安全演讲稿
2014/05/09 职场文书
社区志愿者活动方案
2014/08/18 职场文书
五年级学生期末评语
2014/12/26 职场文书
门卫管理制度范本
2015/08/05 职场文书
详解php中流行的rpc框架
2021/05/29 PHP
SpringBoot2 参数管理实践之入参出参与校验的方式
2021/06/16 Java/Android