guard($guard); if ($authGuard->guest()) { throw UnauthorizedException::notLoggedIn(); } if (!is_null($permission)) { $permissions = is_array($permission) ? $permission : explode('|', $permission); } if (is_null($permission)) { $permission = $request->route()->getName(); $permissions = array($permission); } foreach ($permissions as $permission) { if ($authGuard->user()->can($permission)) { return $next($request); } } throw UnauthorizedException::forPermissions($permissions); } }