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+mysql一个名片库程序
Oct 09 PHP
Ajax PHP分页演示
Jan 02 PHP
可以在线执行PHP代码包装修正版
Mar 15 PHP
计算一段日期内的周末天数的php代码(星期六,星期日总和)
Nov 12 PHP
利用PHP扩展vld查看PHP opcode操作步骤
Mar 04 PHP
实现在同一方法中获取当前方法中新赋值的session值解决方法
Jun 26 PHP
php中cookie实现二级域名可访问操作的方法
Nov 11 PHP
PHP中Session可能会引起并发问题
Jun 26 PHP
PHP之十六个魔术方法详细介绍
Nov 01 PHP
php实现用户注册密码的crypt加密
Jun 08 PHP
PHP基于PDO扩展操作mysql数据库示例
Dec 24 PHP
php上传后台无法收到数据解决方法
Oct 28 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
CodeIgniter启用缓存和清除缓存的方法
2014/06/12 PHP
Yii实现文章列表置顶功能示例
2016/10/18 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
使用php自动备份数据库表的实现方法
2017/07/28 PHP
php闭包中使用use声明变量的作用域实例分析
2018/08/09 PHP
PHP实现关键字搜索后描红功能示例
2019/07/03 PHP
用js实现键盘方向键翻页功能的代码
2007/06/03 Javascript
一个JS翻页效果
2007/07/23 Javascript
兼容ie和firefox js关闭代码
2008/12/11 Javascript
在浏览器中获取当前执行的脚本文件名的代码
2011/07/19 Javascript
JavaScript中的细节分析
2012/06/30 Javascript
JS模块与命名空间的介绍
2013/03/22 Javascript
javascript获取下拉列表框当中的文本值示例代码
2013/07/31 Javascript
Javascript 数组排序详解
2014/10/22 Javascript
直接拿来用的页面跳转进度条JS实现
2016/01/06 Javascript
JS解决iframe之间通信和自适应高度的问题
2016/08/24 Javascript
Html5 js实现手风琴效果
2020/04/17 Javascript
基于jQuery实现数字滚动效果
2017/01/16 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
2017/02/09 Javascript
将 vue 生成的 js 上传到七牛的实例
2017/07/28 Javascript
浅谈vue-cli 3.0.x 初体验
2018/04/11 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
Vue-router中hash模式与history模式的区别详解
2020/12/15 Vue.js
python变量不能以数字打头详解
2016/07/06 Python
python爬取cnvd漏洞库信息的实例
2019/02/14 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
2019/06/12 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
2020/05/11 Python
HTML5使用DOM进行自定义控制示例代码
2013/06/08 HTML / CSS
介绍一下Make? 为什么使用make
2013/12/08 面试题
信息技术培训感言
2014/03/06 职场文书
小组口号大全
2014/06/09 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
土建技术员岗位职责
2015/04/11 职场文书
MySQL获取所有分类的前N条记录
2021/05/07 MySQL
Python超详细分步解析随机漫步
2022/03/17 Python
教你win10系统中APPCRASH事件问题解决方法
2022/07/15 数码科技