Laravel 5.2 – Как выйти из системы пользователя со всех его устройствPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Laravel 5.2 – Как выйти из системы пользователя со всех его устройств

Сообщение Anonymous »


When a user logged out from a perticular device I want to logout from all the device he has logged in till now . How I do it in Laravel.

I have used Redis for keeping the userId in Session by installing "predis/predis": "~1.0"

And Here is my controller for SignIn and Logout:

public function postSignIn(Request $request) { if (Auth::attempt(['email' => $request['email'], 'password' =>$request['password'] ]) ) { $redis = \Redis::connection(); $userId=Session::getId(); $redis->sadd('users: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'); } It's successfully get logged in and also logged out but it doesn't kill all the session in other devices.

How do I solve the problem?


Источник: https://stackoverflow.com/questions/374 ... is-devices
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»