session()->has('adminInfo') && !empty($request->session()->get('adminInfo'))) { /** * 检测用户是否被删除,或改了密码 */ if (\App\Models\System_user::checkAdmin($request->session()->get('adminInfo')) < 1) { $request->session()->flush(); $request->session()->regenerate(); return redirect('/admin/login/index'); } if(checkToken(session('adminInfo.admin_id'),session('adminInfo.token'))<0){ $code_array=\App\Models\Priv_codeModel::getUserCode(session('adminInfo.admin_id')); if(!in_array('passToken',$code_array)){ $request->session()->flush(); $request->session()->regenerate(); return redirect('/admin/login/index?login=1'); } } if ($this->checkRole($request) < 0) { return redirect('admin/login/errors'); } if ('admin/login/index' == $request->path()) { return redirect('/'); } return $next($request); } if ('admin/login/index' == $request->path()) { return $next($request); } return redirect('/admin/login/index'); } private function checkRole($request) { if ('admin/login/errors' == $request->path()) { return 1; } if (\App\Models\Role::hasRoot('/' . $request->path()) != '1') { return -1001; } return 1; } }