/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { if (!Auth::check()) { Session::flash('msg', '请先登录'); return redirect('admin/login'); } $user = Auth::user(); $currentAction = Route::currentRouteAction(); $actions = []; if ($user->is_admin) { // Cache::forget('actions'); $actions = ActionModel::where('pid', 0)->with('children')->get(); // $actions = Cache::remember('actions',24*60,function(){ // return ActionModel::where('pid', 0)->with('children')->get(); // }); } else { $user->load('role.actions.children'); $actions = $this->buildTree($user->role->actions); if (!$this->checkPermission($currentAction, $actions)) { Session::flash('msg', '对不起,你没有权限访问该资源'); return redirect('admin/login'); } } View::share('actions', $actions); View::share('user_name', $user->user_name); return $next($request); }