栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Laravel 5.2-如何从所有设备中注销用户

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Laravel 5.2-如何从所有设备中注销用户

因此,redis键名中的错字是问题,因为写数据使用的

$redis->sadd('users:sessions:'.$userId,Session::getId());

是键的前缀
'users:sessions:'
,而获取数据使用的
$redis->srem('user:sessions:' . $userId,$sessionId);
是键的前缀,
'user:sessions:'
这就是为什么代码不起作用并
dd()
返回空数组的原因。

所以正确的代码看起来像这样

public function postSignIn(Request $request){   if (Auth::attempt(['email' => $request['email'], 'password' =>$request['password'] ]) ) {        $redis = Redis::connection();$userId=Session::getId();        $redis->sadd('user:sessions:'.$userId,Session::getId());        return redirect()->route('main');    }    return redirect()->back();}public function getLogout(){    $redis = Redis::connection();    $userId=Session::getId();    $userSessions = $redis->smembers('user:sessions:' . $userId);    $currentSession = Session::getId();    foreach ($userSessions as $sessionId) {         if ($currentSession == $sessionId) {  continue;          } $redis->srem('user:sessions:' . $userId, $sessionId); $redis->del('laravel:' . $sessionId);        }    Auth::logout();    return redirect()->route('main');}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/403607.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号