mirror of
https://github.com/stancl/tenancy-docs.git
synced 2025-12-13 18:54:04 +00:00
3.x redesign
This commit is contained in:
parent
857122540f
commit
f8f354c323
229 changed files with 201175 additions and 22440 deletions
|
|
@ -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');
|
||||
});
|
||||
});
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue