1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2026-06-20 20:44:03 +00:00

Remove redundant universal route check from PreventAccess MW (#1427)

The PreventAcessFromUnwantedDomains MW had the
`tenancy()->routeIsUniversal($route)` check either for returning early,
or it was a leftover from some older implementation, so I removed it.

The middleware aborts if the
`$this->accessingTenantRouteFromCentralDomain($request, $route) ||
$this->accessingCentralRouteFromTenantDomain($request, $route)` check
passes. Meaning, **for the middleware to abort, the route has to be
either in central or tenant mode**. When the route is in universal mode,
the middleware will never reach `return $abortRequest()`. `return
$next($request)` will always get reached, even when the `||
tenancy()->routeIsUniversal($route)` check is deleted from the previous
condition, so that check was basically useless.

Since the docblock for the class does mention the behavior for universal
routes explicitly, we've instead added a comment documenting that things
work this way. That's probably the most reasonable way to have this
explicit behavior for universal routes easily understandable in this
fairly complex logic without redundant code.

Resolves #1418

---------

Co-authored-by: Samuel Štancl <samuel@archte.ch>
This commit is contained in:
lukinovec 2026-05-12 23:59:21 +02:00 committed by GitHub
parent ec06dcc52e
commit da7eb94c07
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -31,10 +31,12 @@ class PreventAccessFromUnwantedDomains
{
$route = tenancy()->getRoute($request);
if ($this->shouldBeSkipped($route) || tenancy()->routeIsUniversal($route)) {
if ($this->shouldBeSkipped($route)) {
return $next($request);
}
// If the route is universal, neither of these checks will pass and the logic will
// fall through to the $next($request) call at the end.
if ($this->accessingTenantRouteFromCentralDomain($request, $route) || $this->accessingCentralRouteFromTenantDomain($request, $route)) {
$abortRequest = static::$abortRequest ?? function () {
abort(404);