用户登录时,选择了“记住密码”。如何操作能够 让 管理员清除该用户的登录状态 呢?

1. 运行环境

1). 当前使用的 Laravel 版本?

Laravel6

2). 当前使用的 php/php-fpm 版本?

PHP 版本:7.2

php-fpm 版本:7.2

3). 当前系统

CentOS 7

4). 业务环境

开发环境

5). 相关软件版本

Nginx,MySQL

2. 问题描述?

用户登录时,选择了“记住密码”。如何操作能够 让 管理员清除该用户的登录状态 呢?

3. 您期望得到的结果?

4. 您实际得到的结果?

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 18

把他密码改了

2年前 评论
friendOfTime (楼主) 2年前

是 remember_me 吗? 把 cookie 过期

2年前 评论
friendOfTime (楼主) 2年前
php_yt (作者) 2年前

好像不能。但是你可以给用户清除登陆状态后设置一个字段,表示清除了登陆状态,用户访问的时候判断是不是有这个状态,有这个状态就直接设置为退出,cookie清掉登录状态。这个可以是一个表也可以放在用户的表里,看系统的设计来。目前可以考虑的就这种处理方式

2年前 评论

加个缓存,键中存在关键字段为用户id

登录时自动设置缓存,过期时间和session一致,禁用账号、人为退出登录就清掉缓存

访问页面和请求接口的时候查看缓存是否存在,不存在的话直接调用退出登录

你的退出登录会自动清理session和cookie的

2年前 评论

服务器 删除对应的session id

2年前 评论
friendOfTime (楼主) 2年前
随波逐流

使用 database 驱动

修改 .env

SESSION_DRIVER=database

添加session迁移并执行

php artisan session:table && php artisan migrate

针对用户 user_id = 1 的用户强制 登出

DB::table('session')->where('user_id','=',1)->delete();
2年前 评论
friendOfTime (楼主) 2年前
Alone88 2年前
随波逐流 (作者) 2年前
自由与温暖是遥不可及的梦想

首先要清楚你使用是什么登陆方式或者用的什么扩展包 然后去查看扩展包文档

用户认证《Laravel 9 中文文档》

Passport OAuth 认证

Sanctum API 授权

2年前 评论
周小云 2年前

字段 remember_token 清空就可以

2年前 评论

我们没用 cookie session 这些了

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!