Пример #1
0
 /**
  * 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);
 }