1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2025-12-12 20:54:04 +00:00

Fix PreventAccess middleware

This commit is contained in:
Samuel Štancl 2019-09-22 17:17:38 +02:00
parent 7229691977
commit e21f5ad76f
3 changed files with 13 additions and 4 deletions

View file

@ -24,8 +24,16 @@ class PreventAccessFromTenantDomains
{
// If the domain is not in exempt domains, it's a tenant domain.
// Tenant domains can't have routes without tenancy middleware.
if (! in_array(request()->getHost(), config('tenancy.exempt_domains')) &&
! in_array('tenancy', request()->route()->middleware())) {
$is_an_exempt_domain = in_array($request->getHost(), config('tenancy.exempt_domains'));
$is_a_tenant_domain = ! $is_an_exempt_domain;
$is_a_tenant_route = in_array('tenancy', $request->route()->middleware());
if ($is_a_tenant_domain && ! $is_a_tenant_route) { // accessing web routes from tenant domains
return redirect(config('tenancy.home_route'));
}
if ($is_an_exempt_domain && $is_a_tenant_route) { // accessing tenant routes on web domains
abort(404);
}

View file

@ -51,7 +51,7 @@ class Tenant implements ArrayAccess
*
* @var bool
*/
protected $persisted = false;
public $persisted = false;
/**
* Use new() if you don't want to swap dependencies.