diff --git a/src/TenancyServiceProvider.php b/src/TenancyServiceProvider.php index dd796fd8..28f7cec3 100644 --- a/src/TenancyServiceProvider.php +++ b/src/TenancyServiceProvider.php @@ -82,14 +82,24 @@ class TenancyServiceProvider extends ServiceProvider $this->app->make(Kernel::class)->prependMiddleware(Middleware\InitializeTenancy::class); + + /** + * Since tenancy is initialized in the global middleware stack, this + * middleware group acts mostly as a 'flag' for the PreventAccess + * middleware to decide whether the request should be aborted. + */ Route::middlewareGroup('tenancy', [ /* Prevent access from tenant domains to central routes and vice versa. */ Middleware\PreventAccessFromTenantDomains::class, ]); $this->app->singleton('globalUrl', function ($app) { - $instance = clone $app['url']; - $instance->setAssetRoot($app[FilesystemTenancyBootstrapper::class]->originalPaths['asset_url']); + if ($app->bound(FilesystemTenancyBootstrapper::class)) { + $instance = clone $app['url']; + $instance->setAssetRoot($app[FilesystemTenancyBootstrapper::class]->originalPaths['asset_url']); + } else { + $instance = $app['url']; + } return $instance; });