РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗ppflSpTnAc 167 of 250 menu
◀ ▶

Доступ к арендатору в Filament

Давайте закроем доступ к арендатору. Даже если подставить чужой сегмент в адрес, панель должна отказать. Проверим на /admin/acme, куда входят только участники Acme.

На User.php добавим метод canAccessTenant. Он сравнит переданную команду со списком связей работника:

<?php namespace App\Models; use Filament\Models\Contracts\HasTenants; use Filament\Panel; use Illuminate\Database\Eloquent\Model; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable implements HasTenants { public function canAccessTenant(Model $tenant): bool { return $this->teams() ->whereKey($tenant->getKey()) ->exists(); } } ?>

При ложном результате Filament вернёт ошибку доступа вместо чужих данных. Свои команды по-прежнему открываются как обычно.

Не пускайте работника в чужую команду по прямой ссылке.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить