DevGang
Авторизоваться

Обеспечение мультиарендности (multitenancy) на поддоменах в Laravel

Romega Digital анонсировали пакет, во многом упрощающий создание множественной аренды на поддоменах в приложениях Laravel:

Этот пакет предназначен для быстрого и простого добавления нескольких арендаторов в вашем приложение на Laravel. Он сам создает модели арендаторов и и задает отношения между ними. Пакет идентифицирует входящий трафик по поддомену и находит соответствующего арендатора в таблице Tenant. Если арендатор не найден или пользователь не связан с конкретным поддоменом, запрос выдает 403 ошибку.

Пакет Remega обеспечивает поддержку моделей для нескольких арендаторов с помощью параметра HasTenants , а также использует пакет разрешений Spatie для дополнительной функциональности.

Подробнее: два лучших пакета Laravel для управления ролями / разрешениями

 Пример исполнения из readme:

use Spatie\Permission\Traits\HasRoles;
use RomegaDigital\Multitenancy\Traits\HasTenants;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
   use HasTenants, HasRoles;   // ...
}

Указав параметр HasTenants вы можете получить пользователей, связанных с моделью арендатора:

User::tenants()->get()

И, наконец, код создания арендаторов:

Tenant::createMany([
   [
       'name'    => 'An Identifying Name',
       'domain'  => 'tenant1'
   ],
   [
       'name'    => 'A Second Customer',
       'domain'  => 'tenant2'
   ]
]);

Кроме этого пакета вашему распоряжению предлагается сопутствующий пакет Nova под названием Multitenency Nova Tool , позволяющий управлять функциональностью нескольких арендаторов в вашем приложении.

Для подробного ознакомления, вы можете прошерстить исходники на GitHub romegadigital/Multitenancy. Краткий гайд в readme поможет вам узнать, как правильно установить и использовать пакет. 

#PHP #Laravel
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу