diff --git a/assets/routes.php b/assets/routes.php index 52fc071b..d616b665 100644 --- a/assets/routes.php +++ b/assets/routes.php @@ -8,7 +8,6 @@ use Stancl\Tenancy\Controllers\TenantAssetController; Route::get('/tenancy/assets/{path?}', TenantAssetController::class) ->where('path', '(.*)') - ->middleware(config('tenancy.identification.default_middleware')) // todo@features Use tenancy()->defaultMiddleware() after merging #1021 ->name('stancl.tenancy.asset'); Route::prefix('/{' . PathIdentificationManager::getTenantParameterName() . '}/')->get('/tenancy/assets/{path?}', TenantAssetController::class) diff --git a/src/Controllers/TenantAssetController.php b/src/Controllers/TenantAssetController.php index 198292bb..980e5105 100644 --- a/src/Controllers/TenantAssetController.php +++ b/src/Controllers/TenantAssetController.php @@ -4,12 +4,20 @@ declare(strict_types=1); namespace Stancl\Tenancy\Controllers; -use Illuminate\Routing\Controller; +use Illuminate\Routing\Controllers\HasMiddleware; +use Illuminate\Routing\Controllers\Middleware; use Symfony\Component\HttpFoundation\BinaryFileResponse; use Throwable; -class TenantAssetController extends Controller // todo@docs this was renamed from TenantAssetsController +class TenantAssetController implements HasMiddleware // todo@docs this was renamed from TenantAssetsController { + public static function middleware() + { + return [ + new Middleware(tenancy()->defaultMiddleware()), + ]; + } + /** * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException */ diff --git a/src/Middleware/InitializeTenancyByDomain.php b/src/Middleware/InitializeTenancyByDomain.php index a2175195..bb757c19 100644 --- a/src/Middleware/InitializeTenancyByDomain.php +++ b/src/Middleware/InitializeTenancyByDomain.php @@ -31,11 +31,6 @@ class InitializeTenancyByDomain extends IdentificationMiddleware implements Usab return $next($request); } - if (in_array($request->getHost(), config('tenancy.central_domains', []), true)) { - // Always bypass tenancy initialization when host is in central domains - return $next($request); - } - return $this->initializeTenancy( $request, $next, diff --git a/src/Middleware/InitializeTenancyByDomainOrSubdomain.php b/src/Middleware/InitializeTenancyByDomainOrSubdomain.php index cb4461f8..7917472c 100644 --- a/src/Middleware/InitializeTenancyByDomainOrSubdomain.php +++ b/src/Middleware/InitializeTenancyByDomainOrSubdomain.php @@ -15,18 +15,13 @@ class InitializeTenancyByDomainOrSubdomain extends InitializeTenancyBySubdomain { use UsableWithEarlyIdentification; - /** @return \Illuminate\Http\Response|mixed */ + /** @return Response|mixed */ public function handle(Request $request, Closure $next): mixed { if ($this->shouldBeSkipped(tenancy()->getRoute($request))) { return $next($request); } - if (in_array($request->getHost(), config('tenancy.central_domains', []), true)) { - // Always bypass tenancy initialization when host is in central domains - return $next($request); - } - $domain = $request->getHost(); if ($this->isSubdomain($domain)) { diff --git a/src/Middleware/InitializeTenancyBySubdomain.php b/src/Middleware/InitializeTenancyBySubdomain.php index 142d7025..9429349a 100644 --- a/src/Middleware/InitializeTenancyBySubdomain.php +++ b/src/Middleware/InitializeTenancyBySubdomain.php @@ -35,11 +35,6 @@ class InitializeTenancyBySubdomain extends InitializeTenancyByDomain return $next($request); } - if (in_array($request->getHost(), config('tenancy.central_domains', []), true)) { - // Always bypass tenancy initialization when host is in central domains - return $next($request); - } - $subdomain = $this->makeSubdomain($request->getHost()); if (is_object($subdomain) && $subdomain instanceof Exception) { diff --git a/src/helpers.php b/src/helpers.php index 14ae54b9..a7de7624 100644 --- a/src/helpers.php +++ b/src/helpers.php @@ -68,7 +68,7 @@ if (! function_exists('global_cache')) { * @param dynamic key|key,default|data,expiration|null * @return mixed|\Illuminate\Cache\CacheManager * - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ function global_cache(): mixed { diff --git a/tests/PreventAccessFromUnwantedDomainsTest.php b/tests/PreventAccessFromUnwantedDomainsTest.php index 1f34bf7f..2cd293f2 100644 --- a/tests/PreventAccessFromUnwantedDomainsTest.php +++ b/tests/PreventAccessFromUnwantedDomainsTest.php @@ -212,10 +212,6 @@ test('placement of domain identification and access prevention middleware can ge pest()->get("http://localhost/central-route")->assertOk(); expect(tenancy()->initialized)->toBeFalse(); })->with([ - 'kernel identification, route-level access prevention' => [ - 'global_middleware' => [InitializeTenancyBySubdomain::class], - 'route_middleware' => [PreventAccessFromUnwantedDomains::class], - ], 'route-level identification, kernel access prevention' => [ 'global_middleware' => [PreventAccessFromUnwantedDomains::class], 'route_middleware' => [InitializeTenancyBySubdomain::class],