wpl-php

从网上查询资料得知,在laravel中使用__construct方法的时候,session还没开启,此时就需要用到中间件来解决。

    $this->middleware(function ($request, $next) {
        var_dump(\Session::get('userid'));
        exit;
    });

  

我这里用到的__construct函数,是用来判断同一个账号是否在另一个客户端登录,比如A客户端正在登录,此时B客户端也要登录,B客户端登录成功后,A客户端就会退出

通过验证当前的登录IP是否一致来判断。

这是一个公共类,该类继承了Controller类,所以只要用到这个公共类,其他类只需把继承的Controller类换成该公共类就可以了

    public function __construct(Request $request)
    {
        // 判断是否已在客户端登录
        $this->middleware(function ($request, $next) {
            $ip = md5($_SERVER['REMOTE_ADDR']);//当前的IP,md5加密
            $res = DB::table('users')->where(['uid'=>\Session::get('userid')])->first();
            if ($ip != $res->IP) {
                return redirect('/adminlogin');
       exit; } return $next($request); }); }

  

相关文章:

  • 2021-05-27
  • 2022-01-21
  • 2021-12-16
  • 2022-12-23
  • 2021-11-06
  • 2022-12-23
  • 2022-01-30
猜你喜欢
  • 2022-01-10
  • 2022-02-20
  • 2022-12-23
  • 2021-12-16
  • 2022-12-23
  • 2021-10-20
  • 2021-09-18
相关资源
相似解决方案