<?php namespace App\Http\Controllers; use App\User; use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminate\Http\Request; use Illuminate\Routing\Controller as BaseController; use Illuminate\Foundation\Validation\ValidatesRequests; use Illuminate\Foundation\Auth\Access\AuthorizesRequests; use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; class Controller extends BaseController { use AuthorizesRequests, DispatchesJobs, ValidatesRequests; protected function authorizeAccessToAdminPanel($additionalPermission = null) { $this->authorizeForUser($this->getUser(), 'admin:access'); if (!is_null($additionalPermission)) { $this->authorizeForUser($this->getUser(), $additionalPermission); } } /** * Gets either the authenticated user, or a user object representing the anonymous user. * @return User */ protected function getUser() { $user = Auth::user(); return (is_null($user) ? User::anonymous() : $user); } }