删除其他用户的会话

时间:2019-11-16 13:49:54

标签: php laravel session laravel-5

是否有可能获得另一个用户会话?假设有一个具有管理员特权的用户,而我需要该管理员具有访问另一个用户会话并将其删除的功能。 (这样其他用户将自动注销)。

laravel中是否有一些工具可以做到这一点?还是我需要做与本机PHP应用程序一样的事情?

1 个答案:

答案 0 :(得分:0)

  • 具有管理面板,并具有阻止用户的设置。
  • 您的数据库表中有一列,例如is_blocked,数据类型为tinyint,其中1表示用户是blocked
  • 在您的应用程序中,还要另外检查一下当前登录的用户是否在定制的中间件中被阻止。如果是,请注销它们,否则继续请求目标。

中间件代码段:

<?php

namespace App\Http\Middleware;

use Closure;
use Auth;
use Session;

class IsBlockedMiddleware{
    public function handle($request, Closure $next){   
        Auth::user()->refresh();
        if(Auth::user()->blocked === 1){
            Auth::logout();
            Session::flash('error','Your account is blocked'); // show the flash message in your blade file            
            return redirect()->route('login');
        }       

        return $next($request);
    }
}