3.x redesign

This commit is contained in:
Samuel Štancl 2020-06-08 21:20:15 +02:00
parent 857122540f
commit f8f354c323
229 changed files with 201175 additions and 22440 deletions

View file

@ -1,46 +0,0 @@
---
title: Middleware Configuration
description: Middleware Configuration..
extends: _layouts.documentation
section: content
---
# Middleware Configuration {#middleware-configuration}
## Header or query parameter based identification {#header-or-query-parameter-based-identification}
To identify tenants using request headers or query parameters, you may use the `InitializeTenancyByRequestData` middleware.
Create a **central** route (don't apply the `tenancy` middleware group on it and don't put it into `routes/tenant.php`) and apply this middleware on the route:
```php
\Stancl\Tenancy\Middleware\InitializeTenancyByRequestData::class
```
To customize the header, query parameter, and `onFail` logic, you may do this in your `AppServiceProvider::boot()`:
```php
// use Stancl\Tenancy\Middleware\InitializeTenancyByRequestData::class;
$this->app->bind(InitializeTenancyByRequestData::class, function ($app) {
return new InitializeTenancyByRequestData('header name', 'query parameter', function ($exception) {
// return redirect()->route('foo');
});
});
```
To disable identification using header or query parameter, set the respective parameter to `null`.
## Customizing the onFail logic {#customizing-the-onfail-logic}
When a tenant route is visited and the tenant can't be identified, an exception is thrown. If you want to change this behavior, to a redirect for example, add this to your `app/Providers/AppServiceProvider.php`'s `boot()` method:
```php
// use Stancl\Tenancy\Middleware\InitializeTenancy;
$this->app->bind(InitializeTenancy::class, function ($app) {
return new InitializeTenancy(function ($exception, $request, $next) {
// return redirect()->route('foo');
});
});
```