用户
默认情况下,所有的 App\Models\User 用户可以在本地环境中访问Filament。但如果要在生产环境中同样允许用户访问,需要一些额外的操作来确保授权的用户才能访问后台面板。
授权访问后台
要让非本地环境的 App\Models\User 用户获取访问权限,你需要实现 FilamentUser 合约接口:
<?php
namespace App\Models;
use Filament\Models\Contracts\FilamentUser;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable implements FilamentUser
{
// ...
public function canAccessFilament(): bool
{
return str_ends_with($this->email, '@yourdomain.com') && $this->hasVerifiedEmail();
}
}
canAccessFilament() 方法返回 true 还是 false,取决于用户是否被授权允许访问。本例中会检查用户的邮箱后缀是否为 @yourdomain.com 以及用户是否验证过该邮箱。