controller; $action = $request->action; $request->controller_name = get_controller_name(); $request->action_name = get_action_name(); $code = 0; $msg = ''; if (!Auth::canAccess($controller, $action, $code, $msg)) { if ($request->expectsJson()) { $response = json(['code' => $code, 'msg' => $msg, 'data' => []]); } else { if ($code === 401) { $response = response('',401); //$response = response('',301, ['Location'=> '/app/admin/index/index']); } else { $request->app = ''; $request->plugin = 'admin'; $response = view('common/403')->withStatus(403); } } } else { $config = Config('site'); $config['debug'] = config('app.debug'); $config['controller'] = $request->controller_name; $config['action'] = $request->action_name; $config['moduleurl'] = '/app/admin'; $request->_view_vars = array_merge((array) $request->_view_vars,[ 'user' => session('admin'), 'config' => $config ]); $response = $request->method() == 'OPTIONS' ? response('') : $handler($request); $response->withBody(str_replace([ '__SELF__' ],[ request()->path() //url(request()->action) ],$response->rawBody()))->getStatusCode(); } return $response; } }