Laravel 单设备登录

Laravel 单设备登录

https://laravel-china.org/articles/10605/laravel-single-device-login

前几天在 laracasts 看了laravel5.6的新功能视频 logoutOtherDevices 用于使在其他设备上处于活动状态的用户会话无效并“注销”,而不会使其当前设备上的会话无效。,今天抽空把它应用到了系统里,在这里记录下吧。
在使用此功能前需要先把 app/Http/Kernel.php web 中间件中的 \Illuminate\Session\Middleware\AuthenticateSession::class 注释取消掉。

LoginController 控制器中继承 Illuminate\Foundation\Auth\AuthenticatesUsers 类中的 authenticated 方法。

protected function authenticated(Request $request, $user)
{
    $this->guard()->logoutOtherDevices($request->password);
    return response()->json(['message' => '登录成功']);
}

logoutOtherDevices 接受两个参数,第一个参数是来自表单提交的数据,然后经过加密保存到第二个参数指定的字段里,在经过中间件储存 session

public function logoutOtherDevices($password, $attribute = 'password')
{
    if (! $this->user()) {
        return;
    }

    return tap($this->user()->forceFill([
        $attribute => Hash::make($password),
    ]))->save();
}
}

 

 

这样在用户登录成功后,即会注销其他设备上的会话而实现单设备登陆。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112926.html原文链接:https://javaforall.net

(0)
上一篇 2021年10月27日 下午6:00
下一篇 2021年10月27日 下午7:00


相关推荐

  • 命令行修改hosts_windows host文件

    命令行修改hosts_windows host文件命令行修改host文件打开终端;sudovi/etc/hosts;提示输入电脑密码输入密码,点击enter键,进入host页面;点击键盘i,命令行最下方显示–INSERT–,意思是当前可以编辑,输入需要修改的host;点击esc退出编辑;同时按住shift和:,输入wq保存退出host页面;…

    2022年10月11日
    17
  • yum源仓库搭建

    yum源仓库搭建安装 createrepo 命令 sudoyuminsta 方法一 本地 yum 源 file 放置需要被 yuminstall 的软件包 比如 var localfile 创建仓库目录 sudocreatere var localfile 在 etc yum repos d 路径下创建 localfile repo 名字任意 sudo

    2025年8月6日
    4
  • js匿名函数和立即执行函数[通俗易懂]

    js匿名函数和立即执行函数[通俗易懂]js匿名函数和立即执行函数1.匿名函数a)写法b)特点2.立即执行函数a)写法b)特点c)示例1.匿名函数匿名函数又叫拉姆达函数,使用前需要先赋值。a)写法 //hello();//会报错,因为定义在后,使用在前。 varhello=function(){ console.log(“hello”); }; hello();//hellob)特点匿名函数…

    2026年4月16日
    4
  • 扣子空间手机版v1.5.2 安卓版

    扣子空间手机版v1.5.2 安卓版

    2026年3月12日
    2
  • H264编解码原理

    H264编解码原理H264 是新一代的编码标准 以高压缩高质量和支持多种网络的流媒体传输著称 在编码方面 我理解的他的理论依据是 参照一段时间内图像的统计结果表明 在相邻几幅图像画面中 一般有差别的像素只有 10 以内的点 亮度差值变化不超过 2 而色度差值的变化只有 1 以内 所以对于一段变化不大图像画面 我们可以先编码出一个完整的图像帧 A 随后的 B 帧就不编码全部图像 只写入与 A 帧的差别 这样 B 帧的大小就只有完整帧的 1

    2026年3月18日
    2
  • Amazon DynamoDB简介

    Amazon DynamoDB简介一 DynamoDB 的数据是存储在 SSD 固态硬盘 固态硬盘 这样可以在预测的低延迟响应时间之内 存储和访问任何规模的数据 另外 SSD 还具有很高的 I O 性能 能够处理大规模请求工作负载我们来看看 DynamoDB 的不适合的使用场景 如果需要存储大量数据 但这些数据的访问频率很低 但 DynamoDB 可能不太适合 DynamoDb 的数据模型是无模式的 可认为是简单的键值模式不过特殊的处理在它的主键

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号